public void process ( ProjectProperties properties , FilterContainer filters , FixedData fixedData , Var2Data varData ) { int filterCount = fixedData . getItemCount ( ) ; boolean [ ] criteriaType = new boolean [ 2 ] ; CriteriaReader criteriaReader = getCriteriaReader ( ) ; for ( int filterLoop = 0 ; filterLoop < filterCount ; filterLoop ++ ) { byte [ ] filterFixedData = fixedData . getByteArrayValue ( filterLoop ) ; if ( filterFixedData == null || filterFixedData . length < 4 ) { continue ; } Filter filter = new Filter ( ) ; filter . setID ( Integer . valueOf ( MPPUtility . getInt ( filterFixedData , 0 ) ) ) ; filter . setName ( MPPUtility . removeAmpersands ( MPPUtility . getUnicodeString ( filterFixedData , 4 ) ) ) ; byte [ ] filterVarData = varData . getByteArray ( filter . getID ( ) , getVarDataType ( ) ) ; if ( filterVarData == null ) { continue ; } //System.out.println(ByteArrayHelper.hexdump(filterVarData, true, 16, "")); List < GenericCriteriaPrompt > prompts = new LinkedList < GenericCriteriaPrompt > ( ) ; filter . setShowRelatedSummaryRows ( MPPUtility . getByte ( filterVarData , 4 ) != 0 ) ; filter . setCriteria ( criteriaReader . process ( properties , filterVarData , 0 , - 1 , prompts , null , criteriaType ) ) ; filter . setIsTaskFilter ( criteriaType [ 0 ] ) ; filter . setIsResourceFilter ( criteriaType [ 1 ] ) ; filter . setPrompts ( prompts ) ; filters . addFilter ( filter ) ; //System.out.println(filter); } }
Entry point for processing filter definitions .