Prestaciones adicionales > Gestión de datos de servicio > Personalización de Windchill Service Information Manager y Windchill Service Parts > Hook personalizado para restringir los criterios de búsqueda de los elementos de información
Hook personalizado para restringir los criterios de búsqueda de los elementos de información
La personalización para restringir los criterios de búsqueda mediante el hook solo la puede realizar un administrador de Windchill con experiencia en Java.
Se puede insertar un elemento de información existente en una estructura de servicio pulsando en Insertar existente > Insertar elemento de información existente. Se abre la ventana Insertar elemento de información existente, que enumera todos los elementos de información según los criterios de búsqueda especificados. El hook personalizado se puede utilizar para limitar los criterios de búsqueda para que solo se muestren los elementos de información necesarios. Los criterios de búsqueda se basan en la lógica de negocio especificada en el hook.
Para implementar este hook, extienda la clase Java com.ptc.arbortext.windchill.corestruct.server.ops.SIMCustomSearchCriteriaService en la clase de servicio personalizada. Realice los siguientes pasos:
1. En el directorio de inicio de Windchill, abra el fichero site.xconf en un editor de texto y añada la clase de servicio necesaria en este formato <Option serviceClass="YourCustomSearchServiceClassFullName" requestor="null" selector="null"/>. Por ejemplo:
<Service name="com.ptc.arbortext.windchill.corestruct.server.ops.SIMCustomSearchCriteriaService" targetFile="codebase/service.properties">
<Option serviceClass="com.ptc.arbortext.windchill.corestruct.server.ops.CustomASPSSearchService" requestor="null" selector="null"/>
</Service>
2. Propague los cambios mediante la utilidad xconfmanager. En el directorio <Windchill>\bin, escriba el siguiente comando:
xconfmanager -pF.
3. Reinicie el servidor de métodos.
Prototipo
A continuación se muestra un ejemplo del código personalizado para restringir los criterios de búsqueda y mostrar resultados de búsqueda de los elementos de información solo con estado Liberado.
/* bcwti
*
* Copyright (c) 2021 PTC, Inc. All Rights Reserved.
*
* This software is the confidential and proprietary information of PTC
* and is subject to the terms of a software license agreement.
* You shall not disclose such confidential information and shall use it
* only in accordance with the terms of the license agreement.
*
* ecwti
*/

package com.ptc.arbortext.windchill.corestruct.server.ops;

import com.ptc.arbortext.windchill.corestruct.client.ops.ASPSFindOperation.ASPSFindOperationParams;

import wt.fc.ObjectIdentifier;
import wt.fc.ObjectReference;
import wt.fc.Persistable;
import wt.inf.container.WTContained;
import wt.util.WTException;

public class CustomASPSSearchService implements SIMCustomSearchCriteriaService {
private static final long serialVersionUID = 1L;

@Override
public void updateSearchCriteria(ASPSFindOperationParams fop) throws WTException {
Persistable contextObject = ObjectReference.newObjectReference(ObjectIdentifier.newObjectIdentifier(fop.getRootIdentifier().getStringIdentifer())).getObject();
if (contextObject != null && contextObject instanceof WTContained) {
fop.getSearchCriteriaList().get(0).set("state.state", "RELEASED");
}
}
}
¿Fue esto útil?