Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowManagedObject.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowManagedObject.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowManagedObject.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowManagedObject.java Mon Apr 11 23:42:11 2005 @@ -19,9 +19,6 @@ import org.apache.beehive.netui.pageflow.internal.JavaControlUtils; import org.apache.beehive.netui.util.logging.Logger; -import org.apache.beehive.controls.api.context.ControlBeanContext; -import org.apache.beehive.controls.api.properties.PropertyMap; -import org.apache.beehive.controls.api.bean.ControlBean; import javax.servlet.http.HttpSessionBindingListener; import javax.servlet.http.HttpServletRequest; @@ -30,10 +27,7 @@ import javax.servlet.http.HttpSessionBindingEvent; import javax.servlet.ServletContext; import java.io.Serializable; -import java.util.Map; -import java.util.Iterator; import java.lang.reflect.Field; -import java.lang.reflect.Modifier; public abstract class PageFlowManagedObject implements Serializable, HttpSessionBindingListener @@ -63,14 +57,14 @@ throws Exception { reinitialize( request, response, servletContext ); - initJavaControls( request, response ); + JavaControlUtils.initJavaControls( request, response, servletContext, this ); onCreate(); } void destroy( HttpSession session ) { onDestroy( session ); - uninitJavaControls(); + JavaControlUtils.uninitJavaControls( session.getServletContext(), this ); } /** @@ -127,101 +121,6 @@ */ public abstract void ensureFailover( HttpServletRequest request ); - /** - * Initialize all null member variables that are Java Controls. - * - * @param request the current HttpServletRequest. - */ - private void initJavaControls( HttpServletRequest request, HttpServletResponse response ) - throws ControlFieldInitializationException - { - Map controlFields = JavaControlUtils.getAccessibleControlFieldAnnotations( getClass() ); - if ( controlFields.isEmpty() ) return; - - request = PageFlowUtils.unwrapMultipart( request ); - ControlBeanContext beanContext = - JavaControlUtils.getControlBeanContext( request, response, _servletContext, false ); - assert beanContext != null : "ControlBeanContext was not initialized by PageFlowRequestProcessor"; - String classID = getClass().getName(); - - for ( Iterator i = controlFields.entrySet().iterator(); i.hasNext(); ) - { - Map.Entry entry = ( Map.Entry ) i.next(); - Field field = ( Field ) entry.getKey(); - - // - // We don't want the field to be transient -- the reference should not go away when this - // object is serialized/deserialized. The checker should enforce this. - // - assert ! Modifier.isTransient( field.getModifiers() ) : field.getName(); - - try - { - if ( field.get( this ) == null ) // make sure it's not already initialized - { - if ( _log.isTraceEnabled() ) - { - _log.trace( "Initializing field " + field.getName() + " (" + field.getType().getName() - + ") with a Java Control..." ); - } - - PropertyMap propertyMap = ( PropertyMap ) entry.getValue(); - Class fieldType = field.getType(); - String controlID = getControlID( field, classID ); - boolean isControlBeanClass = ! fieldType.isInterface(); - ControlBean bean = JavaControlUtils.createControl( fieldType.getName(), isControlBeanClass, - controlID, propertyMap, beanContext ); - field.set( this, bean ); - } - } - catch ( Exception e ) - { - _log.error( "Exception occurred while initializing control field " + field.getName(), e ); - throw new ControlFieldInitializationException( field.getName(), this, e ); - } - } - } - - /** - * Create a unique ID for a given Java Control field. - */ - private String getControlID( Field controlField, String classID ) - { - StringBuilder controlID = new StringBuilder(); - controlID.append( classID ); // classname - controlID.append( '@' ).append( hashCode() ); // instance ID - controlID.append( '.' ).append( controlField.getName() ); // name of the control field - return controlID.toString(); - } - - /** - * Clean up all member variables that are Java Controls. - */ - private void uninitJavaControls() - { - Map controlFields = JavaControlUtils.getAccessibleControlFieldAnnotations( getClass() ); - - for ( Iterator i = controlFields.keySet().iterator(); i.hasNext(); ) - { - Field controlField = ( Field ) i.next(); - - try - { - Object fieldValue = controlField.get( this ); - - if ( fieldValue != null ) - { - controlField.set( this, null ); - JavaControlUtils.destroyControl( fieldValue ); - } - } - catch ( IllegalAccessException e ) - { - _log.error( "Exception while uninitializing Java Control " + controlField.getName(), e ); - } - } - } - protected ServletContext getServletContext() { return _servletContext;
Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowManagedObjectException.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowManagedObjectException.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowManagedObjectException.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowManagedObjectException.java Mon Apr 11 23:42:11 2005 @@ -123,7 +123,7 @@ public String getMessage() { - StringBuilder buf = new StringBuilder(); + StringBuffer buf = new StringBuffer(); String[] parts = getMessageParts(); Object[] args = getMessageArgs(); Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowPageFilter.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowPageFilter.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowPageFilter.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowPageFilter.java Mon Apr 11 23:42:11 2005 @@ -174,7 +174,7 @@ // Initialize shared flows for the current request. // RequestContext requestContext = new RequestContext( request, response ); - Map< String, SharedFlowController > sharedFlows = + Map/*< String, SharedFlowController >*/ sharedFlows = _flowControllerFactory.getSharedFlowsForRequest( requestContext ); ImplicitObjectUtil.loadSharedFlow( request, sharedFlows ); ImplicitObjectUtil.loadGlobalApp( request, PageFlowUtils.getGlobalApp( httpRequest ) ); @@ -320,7 +320,7 @@ // if ( request instanceof PageFlowRequestWrapper ) { - request = ( ( PageFlowRequestWrapper ) request ).getRequest(); + request = ( ( PageFlowRequestWrapper ) request ).getHttpRequest(); } chain.doFilter( request, response ); 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?view=diff&r1=161024&r2=161025 ============================================================================== --- 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 Mon Apr 11 23:42:11 2005 @@ -26,7 +26,6 @@ import org.apache.beehive.netui.pageflow.handler.Handlers; import org.apache.beehive.netui.pageflow.handler.LoginHandler; import org.apache.beehive.netui.pageflow.handler.ReloadableClassHandler; -import org.apache.beehive.netui.pageflow.interceptor.Interceptor; import org.apache.beehive.netui.pageflow.interceptor.InterceptorException; import org.apache.beehive.netui.pageflow.interceptor.Interceptors; import org.apache.beehive.netui.pageflow.interceptor.action.ActionInterceptorContext; @@ -40,6 +39,7 @@ import org.apache.beehive.netui.pageflow.internal.JavaControlUtils; import org.apache.beehive.netui.pageflow.internal.LegacySettings; import org.apache.beehive.netui.pageflow.internal.PageFlowRequestWrapper; +import org.apache.beehive.netui.pageflow.internal.InternalConstants; import org.apache.beehive.netui.pageflow.scoping.ScopedRequest; import org.apache.beehive.netui.pageflow.scoping.ScopedServletUtils; import org.apache.beehive.netui.script.common.ImplicitObjectUtil; @@ -95,10 +95,8 @@ import java.util.Map; import java.util.Properties; import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; +import org.apache.beehive.netui.util.internal.concurrent.InternalConcurrentHashMap; -import static org.apache.beehive.netui.pageflow.internal.InternalConstants.*; -import static org.apache.beehive.netui.pageflow.PageFlowConstants.*; /** * The Page Flow extension of the Struts RequestProcessor, which contains callbacks that are invoked @@ -107,7 +105,7 @@ */ public class PageFlowRequestProcessor extends TilesRequestProcessor - implements Serializable + implements Serializable, InternalConstants, PageFlowConstants { private static int requestCount = 0; @@ -117,17 +115,17 @@ private static final int ACTION_OVERRIDE_PARAM_PREFIX_LEN = ACTION_OVERRIDE_PARAM_PREFIX.length(); private static final String SCHEME_UNSECURE = "http"; private static final String SCHEME_SECURE = "https"; - private static final String REDIRECT_REQUEST_ATTRS_PREFIX = ATTR_PREFIX + "requestAttrs:"; + private static final String REDIRECT_REQUEST_ATTRS_PREFIX = InternalConstants.ATTR_PREFIX + "requestAttrs:"; private static final String REDIRECT_REQUEST_ATTRS_PARAM = "forceRedirect"; private static final String FLOW_CONTROLLER_ACTION_CLASSNAME = FlowControllerAction.class.getName(); - private Map< String, Class > _formBeanClasses = new HashMap< String, Class >(); - private Map< String, List< ActionMapping > > _overloadedActions = new HashMap< String, List< ActionMapping > >(); + private Map/*< String, Class >*/ _formBeanClasses = new HashMap/*< String, Class >*/(); + private Map/*< String, List< ActionMapping > >*/ _overloadedActions = new HashMap/*< String, List< ActionMapping > >*/(); private ServletContainerAdapter _servletContainerAdapter; private Handlers _handlers; private FlowControllerFactory _flowControllerFactory; private LegacySettings _legacySettings; - private ConcurrentHashMap< String, Class > _pageServletClasses = new ConcurrentHashMap< String, Class >(); + private InternalConcurrentHashMap/*< String, Class >*/ _pageServletClasses = new InternalConcurrentHashMap/*< String, Class >*/(); private PageFlowPageFilter _pageServletFilter; @@ -547,7 +545,7 @@ try { RequestContext requestContext = new RequestContext( request, response ); - Map< String, SharedFlowController > sharedFlows = + Map/*< String, SharedFlowController >*/ sharedFlows = _flowControllerFactory.getSharedFlowsForRequest( requestContext ); ImplicitObjectUtil.loadSharedFlow( request, sharedFlows ); ImplicitObjectUtil.loadGlobalApp( request, PageFlowUtils.getGlobalApp( request ) ); @@ -692,7 +690,7 @@ // // Forward requests for *.jpf to the "begin" action within the appropriate Struts module. // - if ( FileUtils.osSensitiveEndsWith( uri, PageFlowConstants.JPF_EXTENSION ) ) + if ( FileUtils.osSensitiveEndsWith( uri, PageFlowConstants.PAGEFLOW_EXTENSION ) ) { // // Make sure the current module config matches the request URI. If not, this could be an @@ -703,7 +701,7 @@ { if ( _log.isErrorEnabled() ) { - StringBuilder msg = new StringBuilder( "No module configuration registered for " ); + StringBuffer msg = new StringBuffer( "No module configuration registered for " ); msg.append( uri ).append( " (module path " ).append( modulePath ).append( ")." ); _log.error( msg.toString() ); } @@ -711,7 +709,7 @@ if ( modulePath.length() == 0 ) modulePath = "/"; InternalUtils.sendDevTimeError( "PageFlow_NoModuleConf", null, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, request, response, - getServletContext(), uri, modulePath ); + getServletContext(), new Object[]{ uri, modulePath } ); return true; } @@ -736,14 +734,14 @@ if ( _log.isErrorEnabled() ) { - StringBuilder msg = new StringBuilder( "Wrong .jpf requested for this directory: got " ); + StringBuffer msg = new StringBuffer( "Wrong .jpf requested for this directory: got " ); msg.append( requestedType ).append( ", expected " ).append( desiredType ).append( '.' ); _log.error( msg.toString() ); } InternalUtils.sendDevTimeError( "PageFlow_WrongPath", null, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, request, response, - getServletContext(), requestedType, desiredType); + getServletContext(), new Object[]{ requestedType, desiredType } ); return true; } @@ -805,7 +803,7 @@ // Go through the chain of pre-request interceptors. // RequestInterceptorContext context = new RequestInterceptorContext( request, response, getServletContext() ); - List< Interceptor > interceptors = context.getRequestInterceptors(); + List/*< Interceptor >*/ interceptors = context.getRequestInterceptors(); try { @@ -1003,7 +1001,7 @@ private boolean isCorrectFormType( Class formBeanClass, ActionMapping mapping ) { assert mapping.getName() != null : "cannot pass an ActionMapping that has no form bean"; - Class cachedFormBeanClass = _formBeanClasses.get( mapping.getName() ); + Class cachedFormBeanClass = ( Class ) _formBeanClasses.get( mapping.getName() ); return isCorrectFormType( formBeanClass, cachedFormBeanClass, mapping ); } @@ -1128,11 +1126,11 @@ if ( unqualifiedActionPath != null ) { - List< ActionMapping > overloaded = _overloadedActions.get( unqualifiedActionPath ); + List/*< ActionMapping >*/ overloaded = ( List ) _overloadedActions.get( unqualifiedActionPath ); if ( overloaded == null ) { - overloaded = new ArrayList< ActionMapping >(); + overloaded = new ArrayList/*< ActionMapping >*/(); _overloadedActions.put( unqualifiedActionPath, overloaded ); } @@ -1169,7 +1167,7 @@ * Read component instance mapping configuration file. * This is where we read files properties. */ - @Override + protected void initDefinitionsMapping() throws ServletException { definitionsFactory = null; @@ -1210,7 +1208,7 @@ if ( forwardedForm != null ) { forwardedFormClass = forwardedForm.getClass(); - List< ActionMapping > possibleMatches = _overloadedActions.get( path ); + List/*< ActionMapping >*/ possibleMatches = ( List ) _overloadedActions.get( path ); ActionMapping bestMatch = null; // @@ -1220,9 +1218,9 @@ // for ( int i = 0; possibleMatches != null && i < possibleMatches.size(); ++i ) { - ActionMapping possibleMatch = possibleMatches.get( i ); + ActionMapping possibleMatch = ( ActionMapping ) possibleMatches.get( i ); assert possibleMatch instanceof PageFlowActionMapping : possibleMatch.getClass(); - Class cachedFormBeanClass = _formBeanClasses.get( possibleMatch.getName() ); + Class cachedFormBeanClass = ( Class ) _formBeanClasses.get( possibleMatch.getName() ); if ( forwardedFormClass.equals( cachedFormBeanClass ) ) { @@ -1335,12 +1333,12 @@ if ( dot != -1 ) { - Map< String, SharedFlowController > sharedFlows = PageFlowUtils.getSharedFlows( request ); + Map/*< String, SharedFlowController >*/ sharedFlows = PageFlowUtils.getSharedFlows( request ); if ( sharedFlows == null ) return true; if ( dot == actionPath.length() - 1 ) return true; // empty action name assert actionPath.length() > 0 && actionPath.charAt( 0 ) == '/' : actionPath; String sharedFlowName = actionPath.substring( 1, dot ); - SharedFlowController sf = sharedFlows.get( sharedFlowName ); + SharedFlowController sf = ( SharedFlowController ) sharedFlows.get( sharedFlowName ); if ( sf != null ) { @@ -1361,7 +1359,7 @@ // int lastSlash = actionPath.lastIndexOf( '/' ); assert lastSlash != -1 : actionPath; - StringBuilder uri = new StringBuilder( sf.getModulePath() ); + StringBuffer uri = new StringBuffer( sf.getModulePath() ); uri.append( '/' ); uri.append( actionPath.substring( dot + 1 ) ); uri.append( ACTION_EXTENSION ); @@ -1389,7 +1387,7 @@ { if ( _log.isInfoEnabled() ) { - StringBuilder msg = new StringBuilder( "Action \"" ).append( actionPath ); + StringBuffer msg = new StringBuffer( "Action \"" ).append( actionPath ); _log.info( msg.append( "\" was also unhandled by Global.app." ).toString() ); } @@ -1773,7 +1771,7 @@ private boolean processPageForward( String pagePath, HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException { - Class pageServletClass = _pageServletClasses.get( pagePath ); + Class pageServletClass = ( Class ) _pageServletClasses.get( pagePath ); if ( pageServletClass == null ) { @@ -1982,7 +1980,7 @@ ServletContext servletContext = getServletContext(); String actionName = InternalUtils.getActionName( mapping ); ActionInterceptorContext context = null; - List< Interceptor > interceptors = null; + List/*< Interceptor >*/ interceptors = null; if ( action instanceof FlowControllerAction ) { Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowStack.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowStack.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowStack.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowStack.java Mon Apr 11 23:42:11 2005 @@ -223,7 +223,7 @@ if ( interceptorContext != null ) { - ActionInterceptor interceptor = interceptorContext.getOverridingInterceptor(); + ActionInterceptor interceptor = interceptorContext.getOverridingActionInterceptor(); InterceptorForward originalForward = interceptorContext.getOriginalForward(); String actionName = interceptorContext.getActionName(); _stack.push( new PushedPageFlow( pageFlow, interceptor, originalForward, actionName ) ); Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/PageFlowUtils.java Mon Apr 11 23:42:11 2005 @@ -19,10 +19,9 @@ import org.apache.beehive.netui.core.urls.FreezableMutableURI; import org.apache.beehive.netui.core.urls.MutableURI; -import org.apache.beehive.netui.core.urls.URLRewriter.URLType; import org.apache.beehive.netui.core.urls.URLRewriterService; +import org.apache.beehive.netui.core.urls.URLType; import org.apache.beehive.netui.core.urltemplates.URLTemplateDescriptor; -import org.apache.beehive.netui.pageflow.config.PageFlowActionFormBean; import org.apache.beehive.netui.pageflow.internal.ActionResultImpl; import org.apache.beehive.netui.pageflow.internal.InternalUtils; import org.apache.beehive.netui.pageflow.internal.InternalConstants; @@ -57,27 +56,28 @@ import java.util.Stack; import java.util.List; import java.util.ArrayList; -import java.util.concurrent.ConcurrentHashMap; +import java.util.Iterator; + +import org.apache.beehive.netui.util.internal.concurrent.InternalConcurrentHashMap; -import static org.apache.beehive.netui.pageflow.internal.InternalConstants.*; -import static org.apache.beehive.netui.pageflow.PageFlowConstants.*; /** * Utility methods related to Page Flow. */ public class PageFlowUtils + implements PageFlowConstants, InternalConstants { private static final Logger _log = Logger.getInstance( PageFlowUtils.class ); private static final String ACTION_URI_ATTR = ATTR_PREFIX + "_actionURI"; - private static final int JPF_EXTENSION_LEN = JPF_EXTENSION.length(); - private static final String DEFAULT_AUTORESOLVE_EXTENSIONS[] = new String[]{ ACTION_EXTENSION, JPF_EXTENSION }; + private static final int PAGEFLOW_EXTENSION_LEN = PAGEFLOW_EXTENSION.length(); + private static final String DEFAULT_AUTORESOLVE_EXTENSIONS[] = new String[]{ ACTION_EXTENSION, PAGEFLOW_EXTENSION }; /** Map of Struts module prefix to Map of form-type-name to form-name. */ - private static Map< String, Map< String, List< String > > > _formNameMaps = - new ConcurrentHashMap< String, Map< String, List< String > > >(); + private static Map/*< String, Map< String, List< String > > >*/ _formNameMaps = + new InternalConcurrentHashMap/*< String, Map< String, List< String > > >*/(); /** @@ -160,7 +160,7 @@ public static String getBeginActionURI( String requestURI ) { // Translate this to a request for the begin action ("begin.do") for this PageFlowController. - StringBuilder retVal = new StringBuilder(); + StringBuffer retVal = new StringBuffer(); int lastSlash = requestURI.lastIndexOf( '/' ); if ( lastSlash != -1 ) @@ -280,9 +280,9 @@ * @param request the current HttpServletRequest, which is used to determine the current page flow. * @return a Map of shared flow name (string) to shared flow instance ([EMAIL PROTECTED] SharedFlowController}). */ - public static Map< String, SharedFlowController > getSharedFlows( HttpServletRequest request ) + public static Map/*< String, SharedFlowController >*/ getSharedFlows( HttpServletRequest request ) { - Map< String, SharedFlowController > sharedFlows = ImplicitObjectUtil.getSharedFlow( request ); + Map/*< String, SharedFlowController >*/ sharedFlows = ImplicitObjectUtil.getSharedFlow( request ); return sharedFlows != null ? sharedFlows : Collections.EMPTY_MAP; } @@ -453,25 +453,25 @@ } } - private static List< String > getFormNamesFromModuleConfig( String formBeanClassName, ModuleConfig moduleConfig ) + private static List/*< String >*/ getFormNamesFromModuleConfig( String formBeanClassName, ModuleConfig moduleConfig ) { String modulePrefix = moduleConfig.getPrefix(); - Map< String, List< String > > formNameMap = _formNameMaps.get( modulePrefix ); // map of form-type-name to form-name + Map/*< String, List< String > >*/ formNameMap = ( Map ) _formNameMaps.get( modulePrefix ); // map of form-type-name to form-name if ( formNameMap == null ) { - formNameMap = new HashMap< String, List< String > >(); + formNameMap = new HashMap/*< String, List< String > >*/(); FormBeanConfig[] formBeans = moduleConfig.findFormBeanConfigs(); for ( int j = 0; j < formBeans.length; ++j ) { assert formBeans[j] != null; String formBeanType = InternalUtils.getFormBeanType( formBeans[j] ); - List< String > formBeanNames = formNameMap.get( formBeanType ); + List/*< String >*/ formBeanNames = ( List ) formNameMap.get( formBeanType ); if ( formBeanNames == null ) { - formBeanNames = new ArrayList< String >(); + formBeanNames = new ArrayList/*< String >*/(); formNameMap.put( formBeanType, formBeanNames ); } @@ -481,7 +481,7 @@ _formNameMaps.put( modulePrefix, formNameMap ); } - return formNameMap.get( formBeanClassName ); + return ( List ) formNameMap.get( formBeanClassName ); } /** @@ -505,7 +505,7 @@ // // Get the names of *all* form beans of the desired type, and blast out this instance under all those names. // - List< String > formNames = getFormNamesFromModuleConfig( formClass.getName(), moduleConfig ); + List/*< String >*/ formNames = getFormNamesFromModuleConfig( formClass.getName(), moduleConfig ); if ( formNames == null ) { @@ -516,8 +516,9 @@ { assert formNames.size() > 0; // getFormNamesFromModuleConfig returns null or a nonempty list - for ( String formName : formNames ) + for ( Iterator ii = formNames.iterator(); ii.hasNext(); ) { + String formName = ( String ) ii.next(); InternalUtils.setFormInScope( formName, form, mapping, request, overwrite ); } } @@ -558,12 +559,12 @@ public static String getFormBeanName( Class formBeanClass, HttpServletRequest request ) { ModuleConfig moduleConfig = RequestUtils.getRequestModuleConfig( request ); - List< String > names = getFormNamesFromModuleConfig( formBeanClass.getName(), moduleConfig ); + List/*< String >*/ names = getFormNamesFromModuleConfig( formBeanClass.getName(), moduleConfig ); if ( names != null ) { assert names.size() > 0; // getFormNamesFromModuleConfig returns null or a nonempty list - return names.get( 0 ); + return ( String ) names.get( 0 ); } return generateFormBeanName( formBeanClass, request ); @@ -624,10 +625,10 @@ if ( uri.charAt( 0 ) == '/' ) uri = uri.substring( 1 ); - assert FileUtils.osSensitiveEndsWith( uri, JPF_EXTENSION ) : uri; - if ( FileUtils.osSensitiveEndsWith( uri, JPF_EXTENSION ) ) + assert FileUtils.osSensitiveEndsWith( uri, PAGEFLOW_EXTENSION ) : uri; + if ( FileUtils.osSensitiveEndsWith( uri, PAGEFLOW_EXTENSION ) ) { - uri = uri.substring( 0, uri.length() - JPF_EXTENSION_LEN ); + uri = uri.substring( 0, uri.length() - PAGEFLOW_EXTENSION_LEN ); } return uri.replace( '/', '.' ); @@ -655,7 +656,7 @@ */ public static String getPageFlowURI( String className ) { - return '/' + className.replace( '.', '/' ) + JPF_EXTENSION; + return '/' + className.replace( '.', '/' ) + PAGEFLOW_EXTENSION; } /** @@ -825,7 +826,7 @@ public static void addValidationError( String propertyName, String messageKey, Object messageArg, ServletRequest request ) { - addActionError( request, propertyName, messageKey, messageArg ); + addActionError( request, propertyName, messageKey, new Object[]{ messageArg } ); } /** @@ -838,7 +839,7 @@ */ public static void addValidationError( String propertyName, String messageKey, ServletRequest request ) { - addActionError( request, propertyName, messageKey ); + addActionError( request, propertyName, messageKey, null ); } /** @@ -850,7 +851,7 @@ * @param messageArgs zero or more arguments to the message. */ public static void addActionError( ServletRequest request, String propertyName, String messageKey, - Object ... messageArgs ) + Object[] messageArgs ) { InternalUtils.addActionError( propertyName, new ActionMessage( messageKey, messageArgs ), request ); } @@ -864,7 +865,7 @@ * @param messageArgs zero or more arguments to the message. */ public static void addActionErrorExpression( ServletRequest request, String propertyName, String expression, - Object ... messageArgs ) + Object[] messageArgs ) { InternalUtils.addActionError( propertyName, new ExpressionMessage( expression, messageArgs ), request ); } @@ -916,7 +917,7 @@ //CR122325 - added modulePath to actionOverride var in URL for case where portlet jpf //forwards to another jpf and a refresh is done while action from first jpf is in URL. assert actionOverride.charAt( 0 ) == '/' : actionOverride; - StringBuilder uri = new StringBuilder( scopedRequest.getContextPath() ); + StringBuffer uri = new StringBuffer( scopedRequest.getContextPath() ); uri.append( actionOverride ); uri.append( PageFlowConstants.ACTION_EXTENSION ); scopedRequest.setRequestURI( uri.toString() ); Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ProcessPopulate.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ProcessPopulate.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ProcessPopulate.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ProcessPopulate.java Mon Apr 11 23:42:11 2005 @@ -84,7 +84,7 @@ public String toString() { - StringBuilder buf = new StringBuilder(); + StringBuffer buf = new StringBuffer(); buf.append("expression: " + expression + "\n"); if(values != null) for(int i = 0; i < values.length; i++) @@ -133,7 +133,7 @@ if(!handlerMap.containsKey(handler)) throw new IllegalStateException(Bundle.getErrorString("ProcessPopulate_handler_notRegistered", new Object[] {handler})); - StringBuilder buf = new StringBuilder(); + StringBuffer buf = new StringBuffer(); buf.append(WLW_TAG_HANDLER_PREFIX); buf.append(handler); buf.append(WLW_TAG_HANDLER_SUFFIX); Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/SecurityProtocol.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/SecurityProtocol.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/SecurityProtocol.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/SecurityProtocol.java Mon Apr 11 23:42:11 2005 @@ -20,9 +20,46 @@ /** * Enumeration to represent secure/unsecure/unspecified values associated with URIs in the webapp. */ -public enum SecurityProtocol +public class SecurityProtocol { - SECURE, - UNSECURE, - UNSPECIFIED + protected static final int INT_SECURE = 0; + protected static final int INT_UNSECURE = 1; + protected static final int INT_UNSPECIFIED = 2; + + public static final SecurityProtocol SECURE = new SecurityProtocol( INT_SECURE ); + public static final SecurityProtocol UNSECURE = new SecurityProtocol( INT_UNSECURE ); + public static final SecurityProtocol UNSPECIFIED = new SecurityProtocol( INT_UNSPECIFIED ); + + private int _val; + + private SecurityProtocol( int val ) + { + _val = val; + } + + public String toString() + { + switch ( _val ) + { + case INT_SECURE : return "secure"; + case INT_UNSECURE: return "unsecure"; + case INT_UNSPECIFIED: return "unspecified"; + } + + assert false : _val; + return "<unknown Modifier>"; + } + + public boolean equals( Object o ) + { + if ( o == null ) return false; + if ( o == this ) return true; + if ( ! ( o instanceof SecurityProtocol ) ) return false; + return ( ( SecurityProtocol ) o )._val == _val; + } + + public int hashCode() + { + return _val; + } } Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ServletContainerAdapter.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ServletContainerAdapter.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ServletContainerAdapter.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/ServletContainerAdapter.java Mon Apr 11 23:42:11 2005 @@ -17,7 +17,6 @@ */ package org.apache.beehive.netui.pageflow; -import org.apache.beehive.controls.api.context.ControlBeanContext; import org.apache.beehive.netui.pageflow.internal.Adapter; import javax.servlet.http.HttpServletRequest; @@ -101,7 +100,7 @@ * @param request the current HttpServletRequest. * @param response the current HttpServletResponse. * - * @exception javax.security.auth.login.LoginException if the authentication failed + * @exception LoginException if the authentication failed */ public void login( String username, String password, HttpServletRequest request, HttpServletResponse response ) throws LoginException; @@ -158,7 +157,7 @@ * @param response the current HttpServletResponse. * @return a new ControlBeanContext. */ - public ControlBeanContext createControlBeanContext( HttpServletRequest request, HttpServletResponse response ); + public Object createControlBeanContext( HttpServletRequest request, HttpServletResponse response ); /** * Get the name of the platform, which may be used to find platform-specific configuration files. Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/SharedFlowController.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/SharedFlowController.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/SharedFlowController.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/SharedFlowController.java Mon Apr 11 23:42:11 2005 @@ -27,7 +27,7 @@ import javax.servlet.ServletContext; import org.apache.beehive.netui.pageflow.internal.AdapterManager; -import static org.apache.beehive.netui.pageflow.internal.InternalConstants.*; +import org.apache.beehive.netui.pageflow.internal.InternalConstants; // TODO: javadoc @@ -58,7 +58,7 @@ public void persistInSession( HttpServletRequest request, HttpServletResponse response ) { - request.getSession().setAttribute( SHARED_FLOW_ATTR_PREFIX + getClass().getName(), this ); + request.getSession().setAttribute( InternalConstants.SHARED_FLOW_ATTR_PREFIX + getClass().getName(), this ); } /** @@ -71,7 +71,7 @@ public void ensureFailover( HttpServletRequest request ) { ServletContainerAdapter servletContainerAdapter = AdapterManager.getServletContainerAdapter( getServletContext() ); - servletContainerAdapter.ensureFailover( SHARED_FLOW_ATTR_PREFIX + getClass().getName(), this, request ); + servletContainerAdapter.ensureFailover( InternalConstants.SHARED_FLOW_ATTR_PREFIX + getClass().getName(), this, request ); } /** Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowActionFormBean.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowActionFormBean.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowActionFormBean.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowActionFormBean.java Mon Apr 11 23:42:11 2005 @@ -1,41 +1,41 @@ -/* - * Copyright 2004 The Apache Software Foundation. - * - * Licensed 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. - * - * $Header:$ - */ -package org.apache.beehive.netui.pageflow.config; - -import org.apache.struts.config.FormBeanConfig; -import org.apache.struts.action.ActionFormBean; - - -/** - * Class to handle our extensions to the Struts <form-bean> tag. - */ -public class PageFlowActionFormBean extends ActionFormBean -{ - private String _actualType; // applicable for non-ActionForm-derived form types - - - public String getActualType() - { - return _actualType; - } - - public void setActualType( String actualType ) - { - _actualType = actualType; - } -} +/* + * Copyright 2004 The Apache Software Foundation. + * + * Licensed 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. + * + * $Header:$ + */ +package org.apache.beehive.netui.pageflow.config; + +import org.apache.struts.config.FormBeanConfig; +import org.apache.struts.action.ActionFormBean; + + +/** + * Class to handle our extensions to the Struts <form-bean> tag. + */ +public class PageFlowActionFormBean extends ActionFormBean +{ + private String _actualType; // applicable for non-ActionForm-derived form types + + + public String getActualType() + { + return _actualType; + } + + public void setActualType( String actualType ) + { + _actualType = actualType; + } +} Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowActionMapping.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowActionMapping.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowActionMapping.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowActionMapping.java Mon Apr 11 23:42:11 2005 @@ -37,7 +37,7 @@ private String _formMember; private String _formClass; // applicable for non-ActionForm-derived form types private boolean _readonly = false; - private Map< String, String > _conditionalForwards = new LinkedHashMap< String, String >(); + private Map/*< String, String >*/ _conditionalForwards = new LinkedHashMap/*< String, String >*/(); private String _formBeanMessageResourcesKey; private String _defaultForward; @@ -152,7 +152,7 @@ /** * Get a map of expression -> forward-name. If the expression evaluates to <code>true</code> the forward is used. */ - public Map< String, String > getConditionalForwardsMap() + public Map/*< String, String >*/ getConditionalForwardsMap() { return _conditionalForwards; } Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowControllerConfig.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowControllerConfig.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowControllerConfig.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/config/PageFlowControllerConfig.java Mon Apr 11 23:42:11 2005 @@ -36,7 +36,7 @@ private boolean _isReturnToPageDisabled; private boolean _isReturnToActionDisabled; private boolean _isMissingDefaultMessages; - private LinkedHashMap< String, String > _sharedFlowTypes; + private LinkedHashMap/*< String, String >*/ _sharedFlowTypes; private String _controllerClass; private boolean _isSharedFlow; private String _overrideMultipartClass = null; @@ -102,7 +102,7 @@ } String[] keyValues = sharedFlows.split( "," ); - _sharedFlowTypes = new LinkedHashMap< String, String >(); + _sharedFlowTypes = new LinkedHashMap/*< String, String >*/(); for ( int i = 0; i < keyValues.length; i++ ) { @@ -119,7 +119,7 @@ throw new UnsupportedOperationException( "not implemented; uses getSharedFlowTypes" ); } - public Map< String, String > getSharedFlowTypes() + public Map/*< String, String >*/ getSharedFlowTypes() { return _sharedFlowTypes; } Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/BackingClassMethodBinding.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/BackingClassMethodBinding.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/BackingClassMethodBinding.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/faces/internal/BackingClassMethodBinding.java Mon Apr 11 23:42:11 2005 @@ -18,7 +18,8 @@ package org.apache.beehive.netui.pageflow.faces.internal; import org.apache.beehive.netui.pageflow.internal.InternalUtils; -import org.apache.beehive.netui.pageflow.annotations.Jpf; +import org.apache.beehive.netui.pageflow.internal.AnnotationReader; +import org.apache.beehive.netui.compiler.schema.annotations.ProcessedAnnotation; import javax.faces.el.MethodBinding; import javax.faces.el.MethodNotFoundException; @@ -27,6 +28,7 @@ import javax.faces.component.StateHolder; import javax.faces.component.UIComponentBase; import javax.servlet.http.HttpServletRequest; +import javax.servlet.ServletContext; import java.lang.reflect.Method; import java.lang.reflect.Field; @@ -84,38 +86,48 @@ try { + Object servletContextObject = context.getExternalContext().getContext(); + assert servletContextObject instanceof ServletContext : servletContextObject.getClass().getName(); + ServletContext servletContext = ( ServletContext ) servletContextObject; Method method = backingClass.getMethod( _methodName, _params ); - Jpf.CommandHandler ann = method.getAnnotation( Jpf.CommandHandler.class ); + AnnotationReader annReader = AnnotationReader.getAnnotationReader( backingClass, servletContext ); + ProcessedAnnotation ann = annReader.getJpfAnnotation( method, "CommandHandler" ); if ( ann != null ) { - Jpf.RaiseAction[] raiseActions = ann.raiseActions(); + ProcessedAnnotation[] raiseActions = + AnnotationReader.getAnnotationArrayAttribute( ann, "raiseActions" ); - for ( int i = 0; i < raiseActions.length; i++ ) + if ( raiseActions != null ) { - Jpf.RaiseAction raiseAction = raiseActions[i]; - - if ( raiseAction.action().equals( action ) ) + for ( int i = 0; i < raiseActions.length; i++ ) { - String formBeanMember = raiseAction.outputFormBean(); + ProcessedAnnotation raiseAction = raiseActions[i]; + String actionAttr = AnnotationReader.getStringAttribute( raiseAction, "action" ); - if ( formBeanMember.length() > 0 ) + if ( actionAttr.equals( action ) ) { - try + String formBeanMember = + AnnotationReader.getStringAttribute( raiseAction, "outputFormBean" ); + + if ( formBeanMember != null && formBeanMember.length() > 0 ) { - // TODO: must cache fields and annotations - Field field = backingClass.getDeclaredField( formBeanMember ); - field.setAccessible( true ); - Object value = field.get( backingBean ); - InternalUtils.setForwardedFormBean( httpRequest, InternalUtils.wrapFormBean( value ) ); - } - catch ( NoSuchFieldException e ) - { - e.printStackTrace( ); // TODO: log - } - catch ( IllegalAccessException e ) - { - e.printStackTrace( ); // TODO: log + try + { + // TODO: must cache fields and annotations + Field field = backingClass.getDeclaredField( formBeanMember ); + field.setAccessible( true ); + Object value = field.get( backingBean ); + InternalUtils.setForwardedFormBean( httpRequest, InternalUtils.wrapFormBean( value ) ); + } + catch ( NoSuchFieldException e ) + { + e.printStackTrace( ); // TODO: log + } + catch ( IllegalAccessException e ) + { + e.printStackTrace( ); // TODO: log + } } } } Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/handler/HandlerConfig.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/handler/HandlerConfig.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/handler/HandlerConfig.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/handler/HandlerConfig.java Mon Apr 11 23:42:11 2005 @@ -24,7 +24,7 @@ public class HandlerConfig implements Serializable { - private Map< String, String > _customProperties = new HashMap< String, String >(); + private Map/*< String, String >*/ _customProperties = new HashMap/*< String, String >*/(); private String _handlerClass; public HandlerConfig( String handlerClass ) @@ -32,7 +32,7 @@ _handlerClass = handlerClass; } - public Map< String, String > getCustomProperties() + public Map/*< String, String >*/ getCustomProperties() { return _customProperties; } @@ -44,7 +44,7 @@ public String getCustomProperty( String name ) { - return _customProperties.get( name ); + return ( String ) _customProperties.get( name ); } public String getHandlerClass() Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/InterceptorChain.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/InterceptorChain.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/InterceptorChain.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/InterceptorChain.java Mon Apr 11 23:42:11 2005 @@ -22,10 +22,10 @@ public abstract class InterceptorChain { - private LinkedList< Interceptor > _chain = new LinkedList< Interceptor >(); + private LinkedList/*< Interceptor >*/ _chain = new LinkedList/*< Interceptor >*/(); private InterceptorContext _context; - protected InterceptorChain( InterceptorContext context, List< Interceptor > interceptors ) + protected InterceptorChain( InterceptorContext context, List/*< Interceptor >*/ interceptors ) { _context = context; _chain.addAll( interceptors ); @@ -36,7 +36,7 @@ { if ( ! _chain.isEmpty() ) { - return invoke( _chain.remove() ); + return invoke( ( Interceptor ) _chain.removeFirst() ); } else { @@ -58,6 +58,6 @@ protected Interceptor removeFirst() { - return _chain.remove(); + return ( Interceptor ) _chain.removeFirst(); } } Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/InterceptorConfig.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/InterceptorConfig.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/InterceptorConfig.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/InterceptorConfig.java Mon Apr 11 23:42:11 2005 @@ -25,7 +25,7 @@ implements Serializable { private String _interceptorClass; - private Map< String, String > _customProperties = new HashMap< String, String >(); + private Map/*< String, String >*/ _customProperties = new HashMap/*< String, String >*/(); protected InterceptorConfig() { @@ -46,7 +46,7 @@ _interceptorClass = interceptorClass; } - public Map< String, String > getCustomProperties() + public Map/*< String, String >*/ getCustomProperties() { return _customProperties; } @@ -58,6 +58,6 @@ public String getCustomProperty( String name ) { - return _customProperties.get( name ); + return ( String ) _customProperties.get( name ); } } Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/InterceptorContext.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/InterceptorContext.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/InterceptorContext.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/InterceptorContext.java Mon Apr 11 23:42:11 2005 @@ -54,7 +54,7 @@ } protected static void addInterceptors( org.apache.beehive.netui.util.config.bean.Interceptor[] configBeans, - List< Interceptor > interceptorsList, Class baseClassOrInterface ) + List/*< Interceptor >*/ interceptorsList, Class baseClassOrInterface ) { if ( configBeans != null ) { @@ -89,7 +89,7 @@ * @return an initialized Interceptor, or <code>null</code> if an error occurred. */ protected static Interceptor addInterceptor( InterceptorConfig config, Class baseClassOrInterface, - List< Interceptor > interceptors ) + List/*< Interceptor >*/ interceptors ) { Interceptor interceptor = createInterceptor( config, baseClassOrInterface ); if ( interceptor != null ) interceptors.add( interceptor ); Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/Interceptors.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/Interceptors.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/Interceptors.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/Interceptors.java Mon Apr 11 23:42:11 2005 @@ -22,7 +22,7 @@ public class Interceptors { - public static void doPreIntercept( InterceptorContext context, List< Interceptor > interceptors ) + public static void doPreIntercept( InterceptorContext context, List/*< Interceptor >*/ interceptors ) throws InterceptorException { if ( interceptors != null ) @@ -32,7 +32,7 @@ } } - public static void doPostIntercept( InterceptorContext context, List< Interceptor > interceptors ) + public static void doPostIntercept( InterceptorContext context, List/*< Interceptor >*/ interceptors ) throws InterceptorException { if ( interceptors != null ) @@ -45,7 +45,7 @@ private static final class PreInvokeInterceptorChain extends InterceptorChain { - public PreInvokeInterceptorChain( InterceptorContext context, List< Interceptor > interceptors ) + public PreInvokeInterceptorChain( InterceptorContext context, List/*< Interceptor >*/ interceptors ) { super( context, interceptors ); } @@ -61,7 +61,7 @@ private static final class PostInvokeInterceptorChain extends InterceptorChain { - public PostInvokeInterceptorChain( InterceptorContext context, List< Interceptor > interceptors ) + public PostInvokeInterceptorChain( InterceptorContext context, List/*< Interceptor >*/ interceptors ) { super( context, interceptors ); } Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/action/ActionInterceptorContext.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/action/ActionInterceptorContext.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/action/ActionInterceptorContext.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/action/ActionInterceptorContext.java Mon Apr 11 23:42:11 2005 @@ -18,7 +18,7 @@ package org.apache.beehive.netui.pageflow.interceptor.action; import org.apache.beehive.netui.pageflow.PageFlowController; -import org.apache.beehive.netui.pageflow.interceptor.Interceptor; +import org.apache.beehive.netui.pageflow.internal.InternalConstants; import org.apache.beehive.netui.pageflow.interceptor.request.RequestInterceptorContext; import org.apache.beehive.netui.util.logging.Logger; import org.apache.beehive.netui.util.config.ConfigUtil; @@ -35,17 +35,16 @@ import java.util.Iterator; import java.util.List; import java.util.ArrayList; -import java.util.concurrent.ConcurrentHashMap; +import org.apache.beehive.netui.util.internal.concurrent.InternalConcurrentHashMap; import java.io.Serializable; -import static org.apache.beehive.netui.pageflow.internal.InternalConstants.ATTR_PREFIX; public class ActionInterceptorContext extends RequestInterceptorContext { - private static final String ACTIVE_INTERCEPTOR_CONTEXT_ATTR = ATTR_PREFIX + "interceptorContext"; - private static final String CACHE_ATTR = ATTR_PREFIX + "actionInterceptorConfig"; + private static final String ACTIVE_INTERCEPTOR_CONTEXT_ATTR = InternalConstants.ATTR_PREFIX + "interceptorContext"; + private static final String CACHE_ATTR = InternalConstants.ATTR_PREFIX + "actionInterceptorConfig"; private static final Logger _log = Logger.getInstance( ActionInterceptorContext.class ); @@ -112,19 +111,14 @@ getRequest().setAttribute( ACTIVE_INTERCEPTOR_CONTEXT_ATTR, this ); } - public InterceptorForward getResultOverride() - { - return ( InterceptorForward ) super.getResultOverride(); - } - - public ActionInterceptor getOverridingInterceptor() + public ActionInterceptor getOverridingActionInterceptor() { return ( ActionInterceptor ) super.getOverridingInterceptor(); } public InterceptorForward getInterceptorForward() { - return getResultOverride(); + return ( InterceptorForward ) getResultOverride(); } public boolean hasInterceptorForward() @@ -193,11 +187,11 @@ } } - public List< Interceptor > getActionInterceptors() + public List/*< Interceptor >*/ getActionInterceptors() { ServletContext servletContext = getServletContext(); - ConcurrentHashMap< String, HashMap< String, ArrayList< Interceptor > > > cache = - ( ConcurrentHashMap< String, HashMap< String, ArrayList< Interceptor > > > ) servletContext.getAttribute( CACHE_ATTR ); + InternalConcurrentHashMap/*< String, HashMap< String, ArrayList< Interceptor > > >*/ cache = + ( InternalConcurrentHashMap ) servletContext.getAttribute( CACHE_ATTR ); if ( cache == null ) { @@ -206,25 +200,25 @@ // one of the caches will get overwritten in the ServletContext, but it will just get recreated the // next time. // - cache = new ConcurrentHashMap< String, HashMap< String, ArrayList< Interceptor > > >(); + cache = new InternalConcurrentHashMap/*< String, HashMap< String, ArrayList< Interceptor > > >*/(); servletContext.setAttribute( CACHE_ATTR, cache ); } String modulePath = getPageFlow().getModulePath(); String actionName = getActionName(); - HashMap< String, ArrayList< Interceptor > > cacheByPageFlow = cache.get( modulePath ); + HashMap/*< String, ArrayList< Interceptor > >*/ cacheByPageFlow = ( HashMap ) cache.get( modulePath ); if ( cacheByPageFlow != null ) { - List< Interceptor > interceptors = cacheByPageFlow.get( actionName ); + List/*< Interceptor >*/ interceptors = ( List ) cacheByPageFlow.get( actionName ); if ( interceptors != null ) return interceptors; } // // We didn't find it in the cache -- build it. // - if ( cacheByPageFlow == null ) cacheByPageFlow = new HashMap< String, ArrayList< Interceptor > >(); + if ( cacheByPageFlow == null ) cacheByPageFlow = new HashMap/*< String, ArrayList< Interceptor > >*/(); PageflowActionInterceptors config = ConfigUtil.getConfig().getPageflowActionInterceptors(); - ArrayList< Interceptor > interceptorsList = new ArrayList< Interceptor >(); + ArrayList/*< Interceptor >*/ interceptorsList = new ArrayList/*< Interceptor >*/(); if ( config == null ) { @@ -297,7 +291,7 @@ } private static void addSimpleInterceptors( org.apache.beehive.netui.util.config.bean.SimpleActionInterceptor[] configBeans, - List< Interceptor > interceptorsList ) + List/*< Interceptor >*/ interceptorsList ) { for ( int i = 0; i < configBeans.length; i++ ) { Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/action/SimpleActionInterceptor.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/action/SimpleActionInterceptor.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/action/SimpleActionInterceptor.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/action/SimpleActionInterceptor.java Mon Apr 11 23:42:11 2005 @@ -34,13 +34,13 @@ public void preAction( ActionInterceptorContext context, InterceptorChain chain ) throws InterceptorException { - if ( ! getConfig().isAfterAction() ) doit( context, chain ); + if ( ! getActionInterceptorConfig().isAfterAction() ) doit( context, chain ); } public void postAction( ActionInterceptorContext context, InterceptorChain chain ) throws InterceptorException { - if ( getConfig().isAfterAction() ) doit( context, chain ); + if ( getActionInterceptorConfig().isAfterAction() ) doit( context, chain ); } private void doit( ActionInterceptorContext context, InterceptorChain chain ) @@ -48,7 +48,7 @@ { try { - String path = getConfig().getPath(); + String path = getActionInterceptorConfig().getPath(); setOverrideForward( new InterceptorForward( new URI( path ) ), context ); chain.continueChain(); } @@ -62,7 +62,7 @@ { } - public SimpleActionInterceptorConfig getConfig() + public SimpleActionInterceptorConfig getActionInterceptorConfig() { return ( SimpleActionInterceptorConfig ) super.getConfig(); } Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/action/internal/ActionInterceptors.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/action/internal/ActionInterceptors.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/action/internal/ActionInterceptors.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/action/internal/ActionInterceptors.java Mon Apr 11 23:42:11 2005 @@ -36,7 +36,7 @@ { private ActionExecutor _actionExecutor; - public WrapActionInterceptorChain( InterceptorContext context, List< Interceptor > interceptors, + public WrapActionInterceptorChain( InterceptorContext context, List/*< Interceptor >*/ interceptors, ActionExecutor actionExecutor ) { super( context, interceptors ); @@ -74,7 +74,7 @@ } } - public static ActionForward wrapAction( ActionInterceptorContext context, List< Interceptor > interceptors, + public static ActionForward wrapAction( ActionInterceptorContext context, List/*< Interceptor >*/ interceptors, ActionExecutor actionExecutor ) throws InterceptorException, IOException, ServletException { Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/request/RequestInterceptorContext.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/request/RequestInterceptorContext.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/request/RequestInterceptorContext.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/interceptor/request/RequestInterceptorContext.java Mon Apr 11 23:42:11 2005 @@ -18,7 +18,6 @@ package org.apache.beehive.netui.pageflow.interceptor.request; import org.apache.beehive.netui.pageflow.interceptor.InterceptorContext; -import org.apache.beehive.netui.pageflow.interceptor.Interceptor; import org.apache.beehive.netui.pageflow.internal.InternalConstants; import org.apache.beehive.netui.util.config.ConfigUtil; import org.apache.beehive.netui.util.config.bean.RequestInterceptors; @@ -83,23 +82,23 @@ { org.apache.beehive.netui.util.config.bean.Interceptor[] interceptors = globalRequestInterceptors.getRequestInterceptorArray(); - ArrayList< Interceptor > interceptorsList = new ArrayList< Interceptor >(); + ArrayList/*< Interceptor >*/ interceptorsList = new ArrayList/*< Interceptor >*/(); addInterceptors( interceptors, interceptorsList, RequestInterceptor.class ); servletContext.setAttribute( INTERCEPTORS_LIST_ATTR, interceptorsList ); } } } - public List< Interceptor > getRequestInterceptors() + public List/*< Interceptor >*/ getRequestInterceptors() { - return ( List< Interceptor > ) getServletContext().getAttribute( INTERCEPTORS_LIST_ATTR ); + return ( List/*< Interceptor >*/ ) getServletContext().getAttribute( INTERCEPTORS_LIST_ATTR ); } public static void addInterceptor( ServletContext servletContext, RequestInterceptor interceptor ) { - List< Interceptor > interceptorsList = - ( List< Interceptor > ) servletContext.getAttribute( INTERCEPTORS_LIST_ATTR ); - if ( interceptorsList == null ) interceptorsList = new ArrayList< Interceptor >(); + List/*< Interceptor >*/ interceptorsList = + ( List/*< Interceptor >*/ ) servletContext.getAttribute( INTERCEPTORS_LIST_ATTR ); + if ( interceptorsList == null ) interceptorsList = new ArrayList/*< Interceptor >*/(); interceptorsList.add( interceptor ); servletContext.setAttribute( INTERCEPTORS_LIST_ATTR, interceptorsList ); } Added: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/AnnotationReader.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/AnnotationReader.java?view=auto&rev=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/AnnotationReader.java (added) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/AnnotationReader.java Mon Apr 11 23:42:11 2005 @@ -0,0 +1,169 @@ +/* + * Copyright 2004 The Apache Software Foundation. + * + * Licensed 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. + * + * $Header:$ + */ +package org.apache.beehive.netui.pageflow.internal; + +import org.apache.beehive.netui.pageflow.PageFlowConstants; +import org.apache.beehive.netui.compiler.schema.annotations.ProcessedAnnotationsDocument; +import org.apache.beehive.netui.compiler.schema.annotations.ProcessedAnnotation; +import org.apache.beehive.netui.compiler.schema.annotations.AnnotatedElement; +import org.apache.beehive.netui.compiler.schema.annotations.AnnotationAttribute; +import org.apache.beehive.netui.util.logging.Logger; +import org.apache.beehive.netui.util.internal.concurrent.InternalConcurrentHashMap; +import org.apache.xmlbeans.XmlException; + +import javax.servlet.ServletContext; +import java.io.InputStream; +import java.io.IOException; +import java.lang.reflect.Member; + +/** + * Utility for reading XML files that describe annotations in classes. These files are generated during Page Flow build. + */ +public class AnnotationReader +{ + private static final Logger _log = Logger.getInstance( AnnotationReader.class ); + private static final String CACHE_ATTR = InternalConstants.ATTR_PREFIX + "annCache"; + + private ProcessedAnnotationsDocument.ProcessedAnnotations _annotations; + + public static AnnotationReader getAnnotationReader( Class type, ServletContext servletContext ) + { + InternalConcurrentHashMap cache = ( InternalConcurrentHashMap ) servletContext.getAttribute( CACHE_ATTR ); + + if ( cache == null ) + { + cache = new InternalConcurrentHashMap(); + servletContext.setAttribute( CACHE_ATTR, cache ); + } + + AnnotationReader reader = ( AnnotationReader ) cache.get( type ); + + if ( reader == null ) + { + reader = new AnnotationReader( type, servletContext ); + cache.put( type, reader ); + } + + return reader; + } + + private AnnotationReader( Class type, ServletContext servletContext ) + { + String annotationsXml = + PageFlowConstants.PAGEFLOW_MODULE_CONFIG_GEN_DIR + "/jpf-annotations-" + + type.getName().replace( '.', '-' ) + ".xml"; + InputStream in = servletContext.getResourceAsStream( annotationsXml ); + + if ( in != null ) + { + try + { + ProcessedAnnotationsDocument doc = ProcessedAnnotationsDocument.Factory.parse( in ); + _annotations = doc.getProcessedAnnotations(); + } + catch ( XmlException e ) + { + _log.error( "Error while parsing annotations XML file " + annotationsXml, e ); + } + catch ( IOException e ) + { + _log.error( "Error while reading annotations XML file " + annotationsXml, e ); + } + finally + { + try + { + in.close(); + } + catch ( IOException e ) + { + _log.error( "Could not close input stream for " + annotationsXml, e ); + } + } + } + } + + public ProcessedAnnotation getAnnotation( String declarationName, String annotationTypeName ) + { + if ( _annotations == null ) return null; + + AnnotatedElement[] elements = _annotations.getAnnotatedElementArray(); + + for ( int i = 0; i < elements.length; i++ ) + { + AnnotatedElement element = elements[i]; + if ( element.getElementName().equals( declarationName ) ) + { + // For now, we can be sure that there's only one element in this array. + assert element.getAnnotationArray().length == 1 : element.getAnnotationArray().length; + ProcessedAnnotation pa = element.getAnnotationArray( 0 ); + return pa.getAnnotationName().equals( annotationTypeName ) ? pa : null; + } + } + + return null; + } + + public ProcessedAnnotation getJpfAnnotation( Member member, String annotationTypeName ) + { + return getAnnotation( member.getName(), InternalConstants.ANNOTATION_QUALIFIER + annotationTypeName ); + } + + public ProcessedAnnotation getJpfAnnotation( Class type, String annotationTypeName ) + { + return getAnnotation( type.getName(), InternalConstants.ANNOTATION_QUALIFIER + annotationTypeName ); + } + + public static String getStringAttribute( ProcessedAnnotation ann, String attrName ) + { + AnnotationAttribute[] attrs = ann.getAnnotationAttributeArray(); + + for ( int i = 0; i < attrs.length; i++ ) + { + AnnotationAttribute attr = attrs[i]; + + if ( attr.getAttributeName().equals( attrName ) ) + { + String value = attr.getStringValue1(); + assert value != null : "attribute " + attrName + " did not have a String value"; + return value; + } + } + + return null; + } + + public static ProcessedAnnotation[] getAnnotationArrayAttribute( ProcessedAnnotation ann, String attrName ) + { + AnnotationAttribute[] attrs = ann.getAnnotationAttributeArray(); + + for ( int i = 0; i < attrs.length; i++ ) + { + AnnotationAttribute attr = attrs[i]; + + if ( attr.getAttributeName().equals( attrName ) ) + { + ProcessedAnnotation[] array = attr.getAnnotationValueArray(); + assert array != null : "attribute " + attrName + " did not have an array of annotations."; + return array; + } + } + + return null; + } +} Propchange: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/AnnotationReader.java ------------------------------------------------------------------------------ svn:eol-style = native 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?view=diff&r1=161024&r2=161025 ============================================================================== --- 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 Mon Apr 11 23:42:11 2005 @@ -17,8 +17,7 @@ */ package org.apache.beehive.netui.pageflow.internal; -import org.apache.beehive.netui.pageflow.annotations.Jpf; - +import javax.servlet.ServletContext; import java.lang.reflect.Field; @@ -34,22 +33,23 @@ private Field _pageFlowMemberField; - public CachedFacesBackingInfo( Class facesBackingClass ) + public CachedFacesBackingInfo( Class facesBackingClass, ServletContext servletContext ) { Field[] fields = facesBackingClass.getDeclaredFields(); + AnnotationReader annReader = AnnotationReader.getAnnotationReader( facesBackingClass, servletContext ); for ( int i = 0; i < fields.length; i++ ) { Field field = fields[i]; - if ( field.getAnnotation( Jpf.PageFlowField.class ) != null ) + if ( annReader.getJpfAnnotation( field, "PageFlowField" ) != null ) { _pageFlowMemberField = field; _pageFlowMemberField.setAccessible( true ); } } - initSharedFlowFields( fields ); + initSharedFlowFields( annReader, fields ); } public Field getPageFlowMemberField() Modified: incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/CachedPageFlowInfo.java URL: http://svn.apache.org/viewcvs/incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/CachedPageFlowInfo.java?view=diff&r1=161024&r2=161025 ============================================================================== --- incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/CachedPageFlowInfo.java (original) +++ incubator/beehive/trunk/netui/src/pageflow/org/apache/beehive/netui/pageflow/internal/CachedPageFlowInfo.java Mon Apr 11 23:42:11 2005 @@ -19,6 +19,8 @@ import org.apache.beehive.netui.pageflow.PageFlowConstants; +import javax.servlet.ServletContext; + /** * Information that is cached per pageflow class. @@ -37,15 +39,16 @@ private String _URI; - public CachedPageFlowInfo( Class pageFlowClass ) + public CachedPageFlowInfo( Class pageFlowClass, ServletContext servletContext ) { - initSharedFlowFields( pageFlowClass.getDeclaredFields() ); + AnnotationReader annReader = AnnotationReader.getAnnotationReader( pageFlowClass, servletContext ); + initSharedFlowFields( annReader, pageFlowClass.getDeclaredFields() ); // // URI // String className = pageFlowClass.getName(); - _URI = '/' + className.replace( '.', '/' ) + PageFlowConstants.JPF_EXTENSION; + _URI = '/' + className.replace( '.', '/' ) + PageFlowConstants.PAGEFLOW_EXTENSION; // // module path 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?view=diff&r1=161024&r2=161025 ============================================================================== --- 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 Mon Apr 11 23:42:11 2005 @@ -17,8 +17,9 @@ */ package org.apache.beehive.netui.pageflow.internal; -import org.apache.beehive.netui.pageflow.annotations.Jpf; +import org.apache.beehive.netui.compiler.schema.annotations.ProcessedAnnotation; +import javax.servlet.ServletContext; import java.util.List; import java.util.ArrayList; import java.lang.reflect.Field; @@ -36,23 +37,23 @@ */ private SharedFlowFieldInfo[] _sharedFlowMemberFields; - protected void initSharedFlowFields( Field[] fields ) + protected void initSharedFlowFields( AnnotationReader annReader, Field[] fields ) { - List< SharedFlowFieldInfo > sharedFlowFields = null; + List/*< SharedFlowFieldInfo >*/ sharedFlowFields = null; for ( int i = 0; i < fields.length; i++ ) { Field field = fields[i]; - Jpf.SharedFlowField sharedFlowFieldAnn = field.getAnnotation( Jpf.SharedFlowField.class ); + ProcessedAnnotation sharedFlowFieldAnn = annReader.getJpfAnnotation( field, "SharedFlowField" ); if ( sharedFlowFieldAnn != null ) { field.setAccessible( true ); - if ( sharedFlowFields == null ) sharedFlowFields = new ArrayList< SharedFlowFieldInfo >(); + if ( sharedFlowFields == null ) sharedFlowFields = new ArrayList/*< SharedFlowFieldInfo >*/(); SharedFlowFieldInfo info = new SharedFlowFieldInfo(); info.field = field; - info.sharedFlowName = sharedFlowFieldAnn.name(); + info.sharedFlowName = AnnotationReader.getStringAttribute( sharedFlowFieldAnn, "name" ); sharedFlowFields.add( info ); } else if ( field.getName().equals( InternalConstants.GLOBALAPP_MEMBER_NAME ) ) @@ -61,7 +62,7 @@ // Legacy behavior: initialize a field called 'globalApp' with the Global.app instance. // field.setAccessible( true ); - if ( sharedFlowFields == null ) sharedFlowFields = new ArrayList< SharedFlowFieldInfo >(); + if ( sharedFlowFields == null ) sharedFlowFields = new ArrayList/*< SharedFlowFieldInfo >*/(); SharedFlowFieldInfo info = new SharedFlowFieldInfo(); info.field = field; info.sharedFlowName = null; @@ -71,7 +72,7 @@ if ( sharedFlowFields != null ) { - _sharedFlowMemberFields = sharedFlowFields.toArray( new SharedFlowFieldInfo[ sharedFlowFields.size() ] ); + _sharedFlowMemberFields = ( SharedFlowFieldInfo[] ) sharedFlowFields.toArray( new SharedFlowFieldInfo[ sharedFlowFields.size() ] ); } }
