Funciones de gestión de datos > Gestión de estructuras de artículos > Funciones de opciones y variantes de Windchill > Filtrado de una estructura de producto configurable con el filtro de opciones > Filtro de opciones estándar y alternativo > Personalización de comportamientos de filtrado para el delegado de filtro de opciones > Configuración de los comportamientos estándar y alternativo
  
Configuración de los comportamientos estándar y alternativo
El comportamiento estándar y alternativo del filtro de opciones se puede personalizar proporcionando un fichero de configuración para cada método. En un fichero de configuración se especifican las condiciones para filtrar una variante de módulo, teniendo en cuenta los siguientes criterios:
El tipo de filtrado especificado:
Estándar
Alternativo
Las combinaciones de tipo padre/hijo
Dónde se asigna la expresión:
En un elemento
En un vínculo de uso
En una aparición
El resultado de la evaluación de la expresión asignada:
VERDADERO
FALSO
SIN DEFINIR
Los dos ficheros de configuración se registran en el fichero WT_HOME/wt.properties en las propiedades:
ato.filter.strategy.1: para el comportamiento estándar
ato.filter.strategy.2: para el comportamiento alternativo
Los valores de fábrica de las propiedades del fichero wt.properties son las siguientes:
ato.filter.strategy.1=$(wt.home)/codebase/com/ptc/windchill/option/filter/StandardFilterStrategy.xml
ato.filter.strategy.2=$(wt.home)/codebase/com/ptc/windchill/option/filter/AlternateFilterStrategy.xml
Analizadores XML personalizados
La raíz de cualquier fichero de configuración de filtro de opciones es el elemento FilterStrategy. Su único atributo es "handler", cuyo valor es el nombre completo de la clase que analiza el fichero XML, y produce una instancia de un objeto FilterStrategy a partir del paquete com.ptc.windchill.option.filter. Concretamente, el controlador XML debe implementar el com.ptc.windchill.option.filter.FilterStrategyhandler de la interfaz con un único método definido y pasa por el elemento raíz FilterStrategy del fichero XML, como se muestra en el siguiente ejemplo.
public FilterStretegy loadfilterStrategyHandler(org.w3c.dom.Element e);
Este atributo ofrece la posibilidad de proporcionar un formato XML propio para crear estrategias de filtro personalizadas. Sin embargo, en la mayoría de las situaciones, es suficiente utilizar el controlador estándar com.ptc.windchill.option.filter.DefaultFilterStrategyHandler para el formato XML de fábrica. El controlador estándar se define como:
com.ptc.windchill.option.filter.DefaultFilterStrategyhandler
Formato de ficheros de configuración XML estándar
El elemento raíz, FilterStrategy, incluye FilterNode, que contiene las directivas de evaluación de expresiones para un tipo determinado de un objeto.
El elemento FilterNode tiene los siguientes atributos que caracterizan completamente un objeto de nodo de unidad de navegación que participa en el proceso de filtro:
Atributo
Definición y valores
type
El tipo o el tipo de clase del objeto filtrable o de soporte.
parentType
El tipo o el tipo de clase del objeto padre del objeto filtrable.
childType
El tipo o el tipo de clase del objeto hijo resuelto del objeto filtrable.
Por ejemplo, en un caso común, el objeto filtrable es una instancia de WTPartUsageLink. Su objeto padre es el WTPart padre del vínculo de uso y su objeto hijo es el WTPart resuelto del WTPartMaster hijo del vínculo de uso. Se debe tener en cuenta que se es necesario especificar al menos uno de los tres atributos del elemento "FilterNode". Los nodos de filtro coinciden con los objetos de nodo en el orden que se especifica en el fichero XML. Esto devuelve la primera directiva que coincide.
Directivas de expresión
Cada elemento FilterNode debe tener uno o dos subelementos ExpressionPolicy básicos o avanzados.
El elemento ExpressionPolicy tiene los siguientes atributos que describen si la directiva se aplica a expresiones básicas o avanzadas, y las condiciones para filtrar nodos de estructura en función de la presencia y el valor de las expresiones avanzadas, tal como se muestra en la siguiente tabla.
Atributo
Definición y valores
advanced
Permite especificar si la directiva se aplica a expresiones avanzadas (si el valor es VERDADERO) o básicas (si es FALSO).
mode
La lista de condiciones para filtrar el nodo. El modo puede mostrar una o varias de las siguientes constantes:
Constante
Descripción
ESTÁNDAR
Permite filtrar el nodo cuando el valor de la expresión es FALSO.
SIN DEFINIR
Permite filtrar el nodo si el valor de la expresión es SIN DEFINIR.
Atributo de modo para expresiones básicas
Los atributos de modo para una expresión básica son los siguientes:
Atributo
Definición y valores
ESTÁNDAR
El filtrado estándar para las elecciones (expresiones básicas) es diferente del filtrado basado en expresiones avanzadas. En el algoritmo basado en elecciones, las elecciones asignadas al objeto filtrable (vínculo de uso) y el objeto de nodo final (artículo hijo) se combinan y después coinciden como un conjunto combinado con el conjunto de selecciones del usuario en el filtro.
SIN DEFINIR
Si se toma en consideración el conjunto de opciones cuyas elecciones se asignan al objeto, el modo es SIN DEFINIR únicamente si el filtro contiene una opción de este conjunto que no tiene ninguna selección del usuario.