Show
Ignore:
Timestamp:
05/23/08 12:50:46 (8 months ago)
Author:
mikey
Message:

allow to handle all data as not required even if filter annotation is not marked as not required

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/main/php/net/stubbles/ipo/request/broker/annotations/stubFilterAnnotation.php

    r1281 r1578  
    2626 
    2727    /** 
     28     * sets whether the value is required or not 
     29     * 
     30     * @param  bool  $isRequired 
     31     */ 
     32    public function setRequired($isRequired); 
     33 
     34    /** 
    2835     * returns the filter defined by the annotation 
    2936     * 
  • trunk/src/main/php/net/stubbles/ipo/request/broker/stubRequestBroker.php

    r1575 r1578  
    3232     * 
    3333     * @param   stubRequest  $request 
    34      * @param   object       $object   the object instance to fill with values 
    35      * @param   string       $prefix   optional  prefix for access to request values 
     34     * @param   object       $object    the object instance to fill with values 
     35     * @param   string       $prefix    optional  prefix for access to request values 
     36     * @param   bool         $required  optional  make everything on the object optional 
    3637     * @throws  stubIllegalArgumentException 
    3738     */ 
    38     public function process(stubRequest $request, $object, $prefix = ''
     39    public function process(stubRequest $request, $object, $prefix = '', $required = true
    3940    { 
    4041        if ($object instanceof stubObject) { 
     
    4950            if ($this->isAvailable($refProperty) === true) { 
    5051                $filterAnnotation = $refProperty->getAnnotation('Filter'); 
     52                if (false === $required) { 
     53                    $filterAnnotation->setRequired(false); 
     54                } 
     55                 
    5156                $value = $request->getFilteredValue($filterAnnotation->getFilter(), $prefix . $filterAnnotation->getFieldName()); 
    5257                if ($request->hasValueError($prefix . $filterAnnotation->getFieldName()) === false) { 
     
    5964            if ($this->isAvailable($refMethod) === true) { 
    6065                $filterAnnotation = $refMethod->getAnnotation('Filter'); 
     66                if (false === $required) { 
     67                    $filterAnnotation->setRequired(false); 
     68                } 
     69                 
    6170                $value = $request->getFilteredValue($filterAnnotation->getFilter(), $prefix . $filterAnnotation->getFieldName()); 
    6271                if ($request->hasValueError($prefix . $filterAnnotation->getFieldName()) === false) {