cvs commit: jakarta-tapestry/portlet/src/descriptor/META-INF tapestry.portlet.bindings.xml hivemodule.xml

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

cvs commit: jakarta-tapestry/portlet/src/descriptor/META-INF tapestry.portlet.bindings.xml hivemodule.xml

hlship
hlship      2005/05/11 13:08:23

  Modified:    framework/src/descriptor/META-INF tapestry.bindings.xml
                        tapestry.parse.xml tapestry.valid.xml
                        tapestry.page.xml tapestry.coerce.xml
                        tapestry.script.xml
               portlet/src/java/org/apache/tapestry/portlet
                        PortletStrings.properties
               framework/src/java/org/apache/tapestry/services/impl
                        InfrastructureImpl.java
               framework/src/java/org/apache/tapestry/services
                        Infrastructure.java
               framework/src/java/org/apache/tapestry/binding
                        AbstractBinding.java
               portlet/src/descriptor/META-INF hivemodule.xml
  Added:       portlet/src/test/org/apache/tapestry/portlet/bindings
                        TestUserAttributeBinding.java
               portlet/src/java/org/apache/tapestry/portlet/bindings
                        BindingsStrings.properties
                        UserAttributeBindingFactory.java
                        UserAttributeBinding.java BindingsMessages.java
               portlet/src/descriptor/META-INF
                        tapestry.portlet.bindings.xml
  Log:
  Add a user: binding prefix, for reading and updating Portlet User Attributes.
 
  Revision  Changes    Path
  1.12      +9 -9      jakarta-tapestry/framework/src/descriptor/META-INF/tapestry.bindings.xml
 
  Index: tapestry.bindings.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/descriptor/META-INF/tapestry.bindings.xml,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- tapestry.bindings.xml 18 Apr 2005 17:07:50 -0000 1.11
  +++ tapestry.bindings.xml 11 May 2005 20:08:23 -0000 1.12
  @@ -27,7 +27,7 @@
         <construct class="OGNLBindingFactory">
           <set-service property="expressionEvaluator" service-id="tapestry.ognl.ExpressionEvaluator"/>
           <set-service property="expressionCache" service-id="tapestry.ognl.ExpressionCache"/>
  -        <set-service property="valueConverter" service-id="tapestry.coerce.ValueConverter"/>
  +        <set-object property="valueConverter" value="infrastructure:valueConverter"/>
         </construct>
       </invoke-factory>
     </service-point>
  @@ -38,7 +38,7 @@
       
       <invoke-factory>
         <construct class="MessageBindingFactory">
  -        <set-service property="valueConverter" service-id="tapestry.coerce.ValueConverter"/>  
  +        <set-object property="valueConverter" value="infrastructure:valueConverter"/>  
         </construct>
       </invoke-factory>
       
  @@ -50,7 +50,7 @@
       
       <invoke-factory>
         <construct class="LiteralBindingFactory">
  -        <set-service property="valueConverter" service-id="tapestry.coerce.ValueConverter"/>  
  +        <set-object property="valueConverter" value="infrastructure:valueConverter"/>  
         </construct>
       </invoke-factory>
       
  @@ -63,7 +63,7 @@
       
       <invoke-factory>
         <construct class="AssetBindingFactory">
  -        <set-service property="valueConverter" service-id="tapestry.coerce.ValueConverter"/>
  +        <set-object property="valueConverter" value="infrastructure:valueConverter"/>
         </construct>
       </invoke-factory>    
       
  @@ -75,7 +75,7 @@
       
       <invoke-factory>
         <construct class="BeanBindingFactory">
  -        <set-service property="valueConverter" service-id="tapestry.coerce.ValueConverter"/>
  +        <set-object property="valueConverter" value="infrastructure:valueConverter"/>
         </construct>
       </invoke-factory>    
       
  @@ -87,7 +87,7 @@
       
       <invoke-factory>
         <construct class="ListenerBindingFactory">
  -        <set-service property="valueConverter" service-id="tapestry.coerce.ValueConverter"/>
  +        <set-object property="valueConverter" value="infrastructure:valueConverter"/>
         </construct>
       </invoke-factory>    
       
  @@ -99,7 +99,7 @@
       
       <invoke-factory>
         <construct class="ComponentBindingFactory">
  -        <set-service property="valueConverter" service-id="tapestry.coerce.ValueConverter"/>
  +        <set-object property="valueConverter" value="infrastructure:valueConverter"/>
         </construct>
       </invoke-factory>    
       
  @@ -111,7 +111,7 @@
       
       <invoke-factory>
         <construct class="StateBindingFactory">
  -        <set-service property="valueConverter" service-id="tapestry.coerce.ValueConverter"/>
  +        <set-object property="valueConverter" value="infrastructure:valueConverter"/>
           <set-object property="applicationStateManager" object="infrastructure:applicationStateManager"/>
         </construct>
       </invoke-factory>    
  @@ -124,7 +124,7 @@
       
       <invoke-factory>
         <construct class="HiveMindBindingFactory">
  -        <set-service property="valueConverter" service-id="tapestry.coerce.ValueConverter"/>
  +        <set-object property="valueConverter" value="infrastructure:valueConverter"/>
           <set-service property="injectedValueProvider" service-id="tapestry.InjectedValueProvider"/>
         </construct>
       </invoke-factory>
 
 
 
  1.14      +3 -0      jakarta-tapestry/framework/src/descriptor/META-INF/tapestry.parse.xml
 
  Index: tapestry.parse.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/descriptor/META-INF/tapestry.parse.xml,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- tapestry.parse.xml 18 Apr 2005 17:07:50 -0000 1.13
  +++ tapestry.parse.xml 11 May 2005 20:08:23 -0000 1.14
  @@ -32,6 +32,9 @@
           <class-resolver/>
           <object> instance:org.apache.tapestry.spec.SpecFactory </object>
           
  +        <!-- Can't use infrastructure:valueConverter, because SpecificationParser will be created earlier than
  +             tapestry.Infrastructure -->
  +            
           <set-service property="valueConverter" service-id="tapestry.coerce.ValueConverter"/>
           <set-service property="bindingSource" service-id="tapestry.bindings.BindingSource"/>
         </construct>
 
 
 
  1.2       +1 -1      jakarta-tapestry/framework/src/descriptor/META-INF/tapestry.valid.xml
 
  Index: tapestry.valid.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/descriptor/META-INF/tapestry.valid.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- tapestry.valid.xml 6 May 2005 17:29:10 -0000 1.1
  +++ tapestry.valid.xml 11 May 2005 20:08:23 -0000 1.2
  @@ -44,7 +44,7 @@
       <invoke-factory>
         <construct class="ValidatorBindingFactory">
           <set-service property="validatorBeanFactory" service-id="ValidatorBeanFactory"/>
  -        <set-service property="valueConverter" service-id="tapestry.coerce.ValueConverter"/>
  +        <set-object property="valueConverter" value="infrastructure:valueConverter"/>
         </construct>
       </invoke-factory>
     </service-point>  
 
 
 
  1.17      +1 -1      jakarta-tapestry/framework/src/descriptor/META-INF/tapestry.page.xml
 
  Index: tapestry.page.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/descriptor/META-INF/tapestry.page.xml,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- tapestry.page.xml 18 Apr 2005 17:07:50 -0000 1.16
  +++ tapestry.page.xml 11 May 2005 20:08:23 -0000 1.17
  @@ -43,7 +43,7 @@
             service-id="EstablishDefaultParameterValuesVisitor"/>
           <set-object property="defaultScriptLanguage"
                          value="app-property:org.apache.tapestry.default-script-language"/>
  -        <set-service property="valueConverter" service-id="tapestry.coerce.ValueConverter"/>
  +        <set-object property="valueConverter" value="infrastructure:valueConverter"/>
           <set-service property="assetSource" service-id="tapestry.asset.AssetSource"/>
           <set-service property="managerFactory" service-id="BSFManagerFactory"/>
           <set-service property="pageClassProvider" service-id="PageClassProvider"/>
 
 
 
  1.6       +4 -0      jakarta-tapestry/framework/src/descriptor/META-INF/tapestry.coerce.xml
 
  Index: tapestry.coerce.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/descriptor/META-INF/tapestry.coerce.xml,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- tapestry.coerce.xml 18 Apr 2005 17:07:50 -0000 1.5
  +++ tapestry.coerce.xml 11 May 2005 20:08:23 -0000 1.6
  @@ -107,4 +107,8 @@
       
     </service-point>
     
  +  <contribution configuration-id="tapestry.Infrastructure">
  +    <property name="valueConverter" object="service:ValueConverter"/>
  +  </contribution>
  +  
   </module>
  \ No newline at end of file
 
 
 
  1.8       +1 -1      jakarta-tapestry/framework/src/descriptor/META-INF/tapestry.script.xml
 
  Index: tapestry.script.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/descriptor/META-INF/tapestry.script.xml,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- tapestry.script.xml 18 Apr 2005 17:07:50 -0000 1.7
  +++ tapestry.script.xml 11 May 2005 20:08:23 -0000 1.8
  @@ -24,7 +24,7 @@
       <invoke-factory>
         <construct class="DefaultScriptSource">
           <set-service property="expressionEvaluator" service-id="tapestry.ognl.ExpressionEvaluator"/>
  -        <set-service property="valueConverter" service-id="tapestry.coerce.ValueConverter"/>
  +        <set-object property="valueConverter" value="infrastructure:valueConverter"/>
           <event-listener service-id="tapestry.ResetEventCoordinator"/>
         </construct>
       </invoke-factory>
 
 
 
  1.6       +1 -1      jakarta-tapestry/portlet/src/java/org/apache/tapestry/portlet/PortletStrings.properties
 
  Index: PortletStrings.properties
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/portlet/src/java/org/apache/tapestry/portlet/PortletStrings.properties,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- PortletStrings.properties 9 May 2005 20:43:02 -0000 1.5
  +++ PortletStrings.properties 11 May 2005 20:08:23 -0000 1.6
  @@ -17,4 +17,4 @@
   error-processing-action=Error processing action request: {0}
   error-processing-render=Error processing render request: {0}
   error-reporting-exception=Error producing exception report: {0}
  -stale-session=Your server session has expired.
  \ No newline at end of file
  +stale-session=Your server session has expired.
 
 
 
  1.1                  jakarta-tapestry/portlet/src/test/org/apache/tapestry/portlet/bindings/TestUserAttributeBinding.java
 
  Index: TestUserAttributeBinding.java
  ===================================================================
  // Copyright 2005 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.
 
  package org.apache.tapestry.portlet.bindings;
 
  import java.util.HashMap;
  import java.util.Map;
 
  import javax.portlet.PortletRequest;
 
  import org.apache.hivemind.ApplicationRuntimeException;
  import org.apache.hivemind.Location;
  import org.apache.hivemind.test.HiveMindTestCase;
  import org.apache.tapestry.IBinding;
  import org.apache.tapestry.coerce.ValueConverter;
  import org.apache.tapestry.portlet.bindings.UserAttributeBindingFactory;
  import org.easymock.MockControl;
 
  /**
   * Tests for {@link org.apache.tapestry.portlet.bindings.UserAttributeBinding} and
   * {@link org.apache.tapestry.portlet.bindings.UserAttributeBindingFactory}.
   *
   * @author Howard M. Lewis Ship
   * @since 4.0
   */
  public class TestUserAttributeBinding extends HiveMindTestCase
  {
      private IBinding newBinding(String bindingDescription, ValueConverter converter,
              Location location, PortletRequest request, String attributeName)
      {
          UserAttributeBindingFactory factory = new UserAttributeBindingFactory();
          factory.setValueConverter(converter);
          factory.setRequest(request);
 
          return factory.createBinding(null, bindingDescription, attributeName, location);
      }
 
      private Map newMap(String key, String value)
      {
          MockControl control = newControl(Map.class);
          Map map = (Map) control.getMock();
 
          map.get(key);
          control.setReturnValue(value);
 
          return map;
      }
 
      private ValueConverter newConverter()
      {
          return (ValueConverter) newMock(ValueConverter.class);
      }
 
      private PortletRequest newRequest(Map userInfo)
      {
          MockControl control = newControl(PortletRequest.class);
          PortletRequest request = (PortletRequest) control.getMock();
 
          request.getAttribute(PortletRequest.USER_INFO);
          control.setReturnValue(userInfo);
 
          return request;
      }
 
      public void testGetObject()
      {
          Map map = newMap("foo.bar", "baz");
          ValueConverter vc = newConverter();
          PortletRequest request = newRequest(map);
          Location l = newLocation();
 
          replayControls();
 
          IBinding b = newBinding("description", vc, l, request, "foo.bar");
 
          assertSame(l, b.getLocation());
          assertEquals("description", b.getDescription());
          assertEquals(false, b.isInvariant());
          assertEquals("baz", b.getObject());
 
          verifyControls();
      }
 
      public void testGetObjectNoUserInfo()
      {
          ValueConverter vc = newConverter();
          PortletRequest request = newRequest(null);
          Location l = newLocation();
 
          replayControls();
 
          IBinding b = newBinding("description", vc, l, request, "foo.bar");
 
          try
          {
              b.getObject();
              unreachable();
          }
          catch (ApplicationRuntimeException ex)
          {
              assertEquals(BindingsMessages.noUserInfo(), ex.getMessage());
              assertSame(l, ex.getLocation());
          }
 
          verifyControls();
      }
 
      public void testSetObject()
      {
          Object newValue = new Object();
          String valueConverted = "CONVERTED";
 
          Map map = new HashMap();
 
          MockControl converterc = newControl(ValueConverter.class);
          ValueConverter converter = (ValueConverter) converterc.getMock();
          PortletRequest request = newRequest(map);
          Location l = newLocation();
 
          converter.coerceValue(newValue, String.class);
          converterc.setReturnValue(valueConverted);
 
          replayControls();
 
          IBinding b = newBinding("description", converter, l, request, "foo.bar");
 
          b.setObject(newValue);
 
          assertSame(valueConverted, map.get("foo.bar"));
 
          verifyControls();
      }
 
  }
 
 
 
  1.1                  jakarta-tapestry/portlet/src/java/org/apache/tapestry/portlet/bindings/BindingsStrings.properties
 
  Index: BindingsStrings.properties
  ===================================================================
  # Copyright 2005 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.
 
  no-user-info=No user attributes are available; this may indicate an attempt to access user attributes prior to the user logging in to the Portal.
 
 
  1.1                  jakarta-tapestry/portlet/src/java/org/apache/tapestry/portlet/bindings/UserAttributeBindingFactory.java
 
  Index: UserAttributeBindingFactory.java
  ===================================================================
  // Copyright 2005 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.
 
  package org.apache.tapestry.portlet.bindings;
 
  import javax.portlet.PortletRequest;
 
  import org.apache.hivemind.Location;
  import org.apache.tapestry.IBinding;
  import org.apache.tapestry.IComponent;
  import org.apache.tapestry.binding.BindingFactory;
  import org.apache.tapestry.coerce.ValueConverter;
 
  /**
   * Factory used to create {@link org.apache.tapestry.portlet.bindings.UserAttributeBinding}s.
   *
   * @author Howard M. Lewis Ship
   * @since 4.0
   */
  public class UserAttributeBindingFactory implements BindingFactory
  {
      private PortletRequest _request;
 
      private ValueConverter _valueConverter;
 
      /**
       * Interprets the path as the Portlet user attribute name.
       */
 
      public IBinding createBinding(IComponent root, String bindingDescription, String path,
              Location location)
      {
          return new UserAttributeBinding(bindingDescription, _valueConverter, location, _request,
                  path);
      }
 
      public void setRequest(PortletRequest request)
      {
          _request = request;
      }
 
      public void setValueConverter(ValueConverter valueConverter)
      {
          _valueConverter = valueConverter;
      }
  }
 
 
 
  1.1                  jakarta-tapestry/portlet/src/java/org/apache/tapestry/portlet/bindings/UserAttributeBinding.java
 
  Index: UserAttributeBinding.java
  ===================================================================
  // Copyright 2005 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.
 
  package org.apache.tapestry.portlet.bindings;
 
  import java.util.Map;
 
  import javax.portlet.PortletRequest;
 
  import org.apache.hivemind.ApplicationRuntimeException;
  import org.apache.hivemind.Location;
  import org.apache.hivemind.util.Defense;
  import org.apache.tapestry.binding.AbstractBinding;
  import org.apache.tapestry.coerce.ValueConverter;
 
  /**
   * Allows access to a Portlet user attrbute.
   *
   * @author Howard M. Lewis Ship
   * @since 4.0
   */
  public class UserAttributeBinding extends AbstractBinding
  {
      private PortletRequest _request;
 
      private String _attributeName;
 
      public UserAttributeBinding(String description, ValueConverter valueConverter,
              Location location, PortletRequest request, String attributeName)
      {
          super(description, valueConverter, location);
 
          Defense.notNull(request, "request");
          Defense.notNull(attributeName, "attributeName");
 
          _request = request;
          _attributeName = attributeName;
      }
 
      public boolean isInvariant()
      {
          // These can always be changed.
          return false;
      }
 
      private Map getUserInfo()
      {
          Map result = (Map) _request.getAttribute(PortletRequest.USER_INFO);
 
          if (result == null)
              throw new ApplicationRuntimeException(BindingsMessages.noUserInfo(), getLocation(),
                      null);
 
          return result;
      }
 
      public Object getObject()
      {
          return getUserInfo().get(_attributeName);
      }
 
      public void setObject(Object value)
      {
          String asString = (String) getValueConverter().coerceValue(value, String.class);
 
          getUserInfo().put(_attributeName, asString);
      }
  }
 
 
 
  1.1                  jakarta-tapestry/portlet/src/java/org/apache/tapestry/portlet/bindings/BindingsMessages.java
 
  Index: BindingsMessages.java
  ===================================================================
  // Copyright 2005 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.
 
  package org.apache.tapestry.portlet.bindings;
 
  import org.apache.hivemind.impl.MessageFormatter;
 
  /**
   * @author Howard M. Lewis Ship
   * @since 4.0
   */
  class BindingsMessages
  {
 
      private static final MessageFormatter _formatter = new MessageFormatter(BindingsMessages.class,
              "BindingsStrings");
 
      static String noUserInfo()
      {
          return _formatter.getMessage("no-user-info");
      }
  }
 
 
 
  1.32      +6 -0      jakarta-tapestry/framework/src/java/org/apache/tapestry/services/impl/InfrastructureImpl.java
 
  Index: InfrastructureImpl.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/services/impl/InfrastructureImpl.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- InfrastructureImpl.java 9 May 2005 23:28:15 -0000 1.31
  +++ InfrastructureImpl.java 11 May 2005 20:08:23 -0000 1.32
  @@ -26,6 +26,7 @@
   import org.apache.hivemind.Resource;
   import org.apache.hivemind.service.ThreadLocale;
   import org.apache.hivemind.util.Defense;
  +import org.apache.tapestry.coerce.ValueConverter;
   import org.apache.tapestry.describe.HTMLDescriber;
   import org.apache.tapestry.engine.IPageSource;
   import org.apache.tapestry.engine.IPropertySource;
  @@ -248,6 +249,11 @@
           return (StaleLinkExceptionPresenter) getProperty("staleLinkExceptionPresenter");
       }
   
  +    public ValueConverter getValueConverter()
  +    {
  +        return (ValueConverter) getProperty("valueConverter");
  +    }
  +
       public Object getProperty(String propertyName)
       {
           Defense.notNull(propertyName, "propertyName");
 
 
 
  1.33      +8 -0      jakarta-tapestry/framework/src/java/org/apache/tapestry/services/Infrastructure.java
 
  Index: Infrastructure.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/services/Infrastructure.java,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- Infrastructure.java 9 May 2005 23:28:15 -0000 1.32
  +++ Infrastructure.java 11 May 2005 20:08:23 -0000 1.33
  @@ -18,6 +18,7 @@
   
   import org.apache.hivemind.ClassResolver;
   import org.apache.hivemind.Resource;
  +import org.apache.tapestry.coerce.ValueConverter;
   import org.apache.tapestry.describe.HTMLDescriber;
   import org.apache.tapestry.engine.IPageSource;
   import org.apache.tapestry.engine.IPropertySource;
  @@ -258,4 +259,11 @@
        */
   
       public StaleLinkExceptionPresenter getStaleLinkExceptionPresenter();
  +    
  +    /**
  +     * Service used to convert and coerce types.
  +     *
  +     */
  +    
  +    public ValueConverter getValueConverter();
   }
  \ No newline at end of file
 
 
 
  1.10      +6 -0      jakarta-tapestry/framework/src/java/org/apache/tapestry/binding/AbstractBinding.java
 
  Index: AbstractBinding.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/binding/AbstractBinding.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- AbstractBinding.java 18 Apr 2005 17:06:35 -0000 1.9
  +++ AbstractBinding.java 11 May 2005 20:08:23 -0000 1.10
  @@ -123,4 +123,10 @@
       {
           return _description;
       }
  +
  +    /** @since 4.0 */
  +    public ValueConverter getValueConverter()
  +    {
  +        return _valueConverter;
  +    }
   }
  \ No newline at end of file
 
 
 
  1.16      +1 -0      jakarta-tapestry/portlet/src/descriptor/META-INF/hivemodule.xml
 
  Index: hivemodule.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/portlet/src/descriptor/META-INF/hivemodule.xml,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- hivemodule.xml 10 May 2005 22:50:57 -0000 1.15
  +++ hivemodule.xml 11 May 2005 20:08:23 -0000 1.16
  @@ -24,6 +24,7 @@
     
     <sub-module descriptor="tapestry.portlet.services.xml"/>
     <sub-module descriptor="tapestry.portlet.resolver.xml"/>
  +  <sub-module descriptor="tapestry.portlet.bindings.xml"/>
     
     <configuration-point id="PortletApplicationInitializers" schema-id="hivemind.lib.ChainContribution">
       
 
 
 
  1.1                  jakarta-tapestry/portlet/src/descriptor/META-INF/tapestry.portlet.bindings.xml
 
  Index: tapestry.portlet.bindings.xml
  ===================================================================
  <?xml version="1.0"?>
  <!--
     Copyright 2005 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.
  -->
 
  <module id="tapestry.portlet.bindings" version="4.0.0" package="org.apache.tapestry.portlet.bindings">
   
    <service-point id="UserAttributeBindingFactory" interface="org.apache.tapestry.binding.BindingFactory">
     
      Creates new bindings for Portlet user attributes.
     
      <invoke-factory>
        <construct class="UserAttributeBindingFactory">
          <set-object property="request" value="service:tapestry.portlet.PortletRequest"/>
          <set-object property="valueConverter" value="infrastructure:valueConverter"/>
        </construct>
      </invoke-factory>
     
    </service-point>
   
    <contribution configuration-id="tapestry.bindings.BindingFactories">
      <binding prefix="user" service-id="UserAttributeBindingFactory"/>
    </contribution>
  </module>
 
 

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]