org.kuali.rice.kew.docsearch.xml
Class StandardGenericXMLSearchableAttribute

java.lang.Object
  extended by org.kuali.rice.kew.docsearch.xml.StandardGenericXMLSearchableAttribute
All Implemented Interfaces:
Serializable, SearchableAttribute, GenericXMLSearchableAttribute, XmlConfiguredAttribute
Direct Known Subclasses:
KualiXmlSearchableAttributeImpl

public class StandardGenericXMLSearchableAttribute
extends Object
implements GenericXMLSearchableAttribute

implementation of GenericXMLSearchableAttribute.

Author:
Kuali Rice Team (rice.collab@kuali.org)
See Also:
Serialized Form

Field Summary
private static String FIELD_DEF_E
           
private static org.apache.log4j.Logger LOG
           
private  Map paramMap
           
private  RuleAttribute ruleAttribute
           
private  List<Row> searchRows
           
 
Fields inherited from interface org.kuali.rice.kew.docsearch.SearchableAttribute
SEARCHABLE_ATTRIBUTE_BASE_CLASS_LIST
 
Constructor Summary
StandardGenericXMLSearchableAttribute()
           
 
Method Summary
private  void addDatePickerField(List<Field> fields, String propertyName)
           
private  void addRangeFields(String propertyPrefix, Field rangeBoundField, Field mainField, List<Row> rows, String quickfinderService)
           
private  String constructRangeFieldErrorPrefix(String fieldDefLabel, NamedNodeMap rangeBoundAttributes)
           
private  String convertTypeToFieldType(String type)
           
private  NamedNodeMap getAttributesForPotentialChildNode(Node node, String potentialChildNodeName)
           
private  Boolean getBooleanValue(NamedNodeMap nodeMap, String attributeName)
           
private  Boolean getBooleanWithPotentialOverrides(ArrayList<NamedNodeMap> namedNodeMapsByImportance, String attributeName)
           
private  Boolean getBooleanWithPotentialOverrides(String attributeName, NamedNodeMap searchDefinitionAttributes, NamedNodeMap rangeDefinitionAttributes, NamedNodeMap rangeBoundAttributes)
           
 Element getConfigXML()
           
 Map getParamMap()
           
private  Node getPotentialChildNode(Node node, String childNodeName)
           
private  String getPotentialRangeBoundLabelFromAttributes(NamedNodeMap rangeBoundAttributes)
           
 String getSearchContent(DocumentSearchContext documentSearchContext)
          this gives the xml representation of the attribute; returning a standard java xml object might be a better approach here
 List<Row> getSearchingRows(DocumentSearchContext documentSearchContext)
          this will return a list of field objects to be rendered in the docsearch interface
 List getSearchStorageValues(DocumentSearchContext documentSearchContext)
          this will return the loaded data objects for storage in workflow database to be related to the document the attributes xml content was loaded with
private  String getStringValue(NamedNodeMap nodeMap, String attributeName)
           
private  boolean isRangeSearchField(List<SearchableAttributeValue> searchableAttributeValues, String dataType, NamedNodeMap searchDefAttributes, Node searchDefNode)
           
private  boolean isRangeSearchField(SearchableAttributeValue searchableAttributeValue, String dataType, NamedNodeMap searchDefAttributes, Node searchDefNode)
           
private  void parseVisibility(Field field, Element visibilityElement)
           
private  List<WorkflowAttributeValidationError> performValidation(SearchableAttributeValue attributeValue, String fieldDefName, String enteredValue, String errorMessagePrefix, String findXpathExpressionPrefix)
           
 void setParamMap(Map paramMap)
           
 void setRuleAttribute(RuleAttribute ruleAttribute)
           
private  void setupBoundFields(Node searchDefinitionNode, Field lowerBoundField, Field upperBoundField)
           
private  void setupRangeBoundFieldOverridableSettings(NamedNodeMap searchDefinitionAttributes, NamedNodeMap rangeDefinitionAttributes, NamedNodeMap rangeBoundAttributes, Field boundField)
           
private  SearchableAttributeValue setupSearchableAttributeValue(String dataType, String key, String value)
           
 List validateUserSearchInputs(Map paramMap, DocumentSearchContext documentSearchContext)
          this will return a list of error objects if the user has made an input error
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOG

private static final org.apache.log4j.Logger LOG

FIELD_DEF_E

private static final String FIELD_DEF_E
See Also:
Constant Field Values

paramMap

private Map paramMap

ruleAttribute

private RuleAttribute ruleAttribute

searchRows

private List<Row> searchRows
Constructor Detail

StandardGenericXMLSearchableAttribute

public StandardGenericXMLSearchableAttribute()
Method Detail

setRuleAttribute

public void setRuleAttribute(RuleAttribute ruleAttribute)
Specified by:
setRuleAttribute in interface XmlConfiguredAttribute

setParamMap

public void setParamMap(Map paramMap)
Specified by:
setParamMap in interface GenericXMLSearchableAttribute

getParamMap

public Map getParamMap()
Specified by:
getParamMap in interface GenericXMLSearchableAttribute

getSearchContent

public String getSearchContent(DocumentSearchContext documentSearchContext)
Description copied from interface: SearchableAttribute
this gives the xml representation of the attribute; returning a standard java xml object might be a better approach here

Specified by:
getSearchContent in interface SearchableAttribute
Returns:

getSearchStorageValues

public List getSearchStorageValues(DocumentSearchContext documentSearchContext)
Description copied from interface: SearchableAttribute
this will return the loaded data objects for storage in workflow database to be related to the document the attributes xml content was loaded with

Specified by:
getSearchStorageValues in interface SearchableAttribute
Returns:

setupSearchableAttributeValue

private SearchableAttributeValue setupSearchableAttributeValue(String dataType,
                                                               String key,
                                                               String value)

getSearchingRows

public List<Row> getSearchingRows(DocumentSearchContext documentSearchContext)
Description copied from interface: SearchableAttribute
this will return a list of field objects to be rendered in the docsearch interface

Specified by:
getSearchingRows in interface SearchableAttribute
Returns:

isRangeSearchField

private boolean isRangeSearchField(List<SearchableAttributeValue> searchableAttributeValues,
                                   String dataType,
                                   NamedNodeMap searchDefAttributes,
                                   Node searchDefNode)

isRangeSearchField

private boolean isRangeSearchField(SearchableAttributeValue searchableAttributeValue,
                                   String dataType,
                                   NamedNodeMap searchDefAttributes,
                                   Node searchDefNode)

setupBoundFields

private void setupBoundFields(Node searchDefinitionNode,
                              Field lowerBoundField,
                              Field upperBoundField)

addRangeFields

private void addRangeFields(String propertyPrefix,
                            Field rangeBoundField,
                            Field mainField,
                            List<Row> rows,
                            String quickfinderService)

addDatePickerField

private void addDatePickerField(List<Field> fields,
                                String propertyName)

getAttributesForPotentialChildNode

private NamedNodeMap getAttributesForPotentialChildNode(Node node,
                                                        String potentialChildNodeName)

getPotentialChildNode

private Node getPotentialChildNode(Node node,
                                   String childNodeName)

setupRangeBoundFieldOverridableSettings

private void setupRangeBoundFieldOverridableSettings(NamedNodeMap searchDefinitionAttributes,
                                                     NamedNodeMap rangeDefinitionAttributes,
                                                     NamedNodeMap rangeBoundAttributes,
                                                     Field boundField)

getPotentialRangeBoundLabelFromAttributes

private String getPotentialRangeBoundLabelFromAttributes(NamedNodeMap rangeBoundAttributes)

getBooleanWithPotentialOverrides

private Boolean getBooleanWithPotentialOverrides(String attributeName,
                                                 NamedNodeMap searchDefinitionAttributes,
                                                 NamedNodeMap rangeDefinitionAttributes,
                                                 NamedNodeMap rangeBoundAttributes)

getBooleanWithPotentialOverrides

private Boolean getBooleanWithPotentialOverrides(ArrayList<NamedNodeMap> namedNodeMapsByImportance,
                                                 String attributeName)

getBooleanValue

private Boolean getBooleanValue(NamedNodeMap nodeMap,
                                String attributeName)

getStringValue

private String getStringValue(NamedNodeMap nodeMap,
                              String attributeName)

parseVisibility

private void parseVisibility(Field field,
                             Element visibilityElement)

convertTypeToFieldType

private String convertTypeToFieldType(String type)

validateUserSearchInputs

public List validateUserSearchInputs(Map paramMap,
                                     DocumentSearchContext documentSearchContext)
Description copied from interface: SearchableAttribute
this will return a list of error objects if the user has made an input error

Specified by:
validateUserSearchInputs in interface SearchableAttribute
Parameters:
paramMap - map
documentSearchContext - document search context
Returns:
list of workflow attribute validation errors

constructRangeFieldErrorPrefix

private String constructRangeFieldErrorPrefix(String fieldDefLabel,
                                              NamedNodeMap rangeBoundAttributes)

performValidation

private List<WorkflowAttributeValidationError> performValidation(SearchableAttributeValue attributeValue,
                                                                 String fieldDefName,
                                                                 String enteredValue,
                                                                 String errorMessagePrefix,
                                                                 String findXpathExpressionPrefix)
                                                          throws XPathExpressionException
Throws:
XPathExpressionException

getConfigXML

public Element getConfigXML()


Copyright © 2004-2011 The Kuali Foundation. All Rights Reserved.