[jboss-cvs] jboss-seam/src/main/org/jboss/seam/core ...

Norman Richards norman.richards at jboss.com
Fri Oct 12 01:07:55 EDT 2007


  User: nrichards
  Date: 07/10/12 01:07:55

  Modified:    src/main/org/jboss/seam/core  Init.java
  Log:
  JBSEAM-2076
  
  Revision  Changes    Path
  1.57      +35 -11    jboss-seam/src/main/org/jboss/seam/core/Init.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: Init.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/core/Init.java,v
  retrieving revision 1.56
  retrieving revision 1.57
  diff -u -b -r1.56 -r1.57
  --- Init.java	4 Oct 2007 23:08:08 -0000	1.56
  +++ Init.java	12 Oct 2007 05:07:54 -0000	1.57
  @@ -1,4 +1,4 @@
  -//$Id: Init.java,v 1.56 2007/10/04 23:08:08 gavin Exp $
  +//$Id: Init.java,v 1.57 2007/10/12 05:07:54 nrichards Exp $
   package org.jboss.seam.core;
   
   
  @@ -202,22 +202,46 @@
          checkDuplicateFactoryExpressions(variable);
      }
      
  +   
  +   /** 
  +    * makes sure appropriate namespaces exist for a name.  isComponent indicates the
  +    * name is for a component type, in which case we don't create a namespace for the 
  +    * last part
  +    */
  +   public Namespace initNamespaceForName(String name, boolean isComponent) {
  +       Namespace namespace = getRootNamespace();
  +       
  +       StringTokenizer tokens = new StringTokenizer(name, ".");
  +       while (tokens.hasMoreTokens()) {
  +           String token = tokens.nextToken();
  +           if (tokens.hasMoreTokens() && isComponent) {
  +               //we don't want to create a namespace for a componentName
  +               namespace = namespace.getOrCreateChild(token);               
  +           }
  +       }
  +       return namespace;
  +   }
  +   
      public void addFactoryMethod(String variable, Method method, Component component)
      {
         checkDuplicateFactory(variable, component);
  -	   factories.put( variable, new FactoryMethod(method, component) );
  +	   factories.put(variable, new FactoryMethod(method, component));
  +	   initNamespaceForName(variable, true);
      }
   
      public void addFactoryMethodExpression(String variable, String methodBindingExpression, ScopeType scope)
      {
         checkDuplicateFactory(variable);
  -      factoryMethodExpressions.put( variable, new FactoryExpression(methodBindingExpression, scope) );
  +      factoryMethodExpressions.put(variable, new FactoryExpression(methodBindingExpression, scope));
  +      initNamespaceForName(variable, true);
      }
      
      public void addFactoryValueExpression(String variable, String valueBindingExpression, ScopeType scope)
      {
         checkDuplicateFactory(variable);
  -      factoryValueExpressions.put( variable, new FactoryExpression(valueBindingExpression, scope) );
  +      factoryValueExpressions.put(variable, new FactoryExpression(valueBindingExpression, scope));
  +      initNamespaceForName(variable, true);
  +
      }
      
      public static class ObserverMethod 
  
  
  



More information about the jboss-cvs-commits mailing list