Création d'un discriminant Java
Vous pouvez créer un discriminant Java. Un discriminant Java peut être utilisé pour classer des données en écrivant une logique personnalisée dans des classes Java afin de classer un ensemble de données.
Pourquoi et quand exécuter cette tâche
Vous devez disposer des droit d'accès en écriture sur les dossiers ASBServer/lib et ASBNode/lib/java.
Tous les discriminants Java doivent implémenter une interface ValueBasedClassifier en remplaçant la valeur public boolean matchValue(Object value). Lorsqu'un discriminant est déployé en remplaçant la valeur public boolean matchValue(Object value) de l'interface ValueBasedClassifier, vous devez comparer l'implémentation avec la valeur réelle. Par exemple, si vous voulez classer toutes les valeurs comprises entre 600000000 et 999999999, vous devez vérifiez si la valeur est comprise entre les nombres spécifiés. Si la valeur est comprise entre les nombres, elle est classée comme true, sinon, comme false. Lorsque la valeur est true, elle est classée avec le nom que vous indiqué dans la définition XML.
Procédure
- Créez un projet dans Eclipse ou dans l'environnement de développement intégré pour Java.
- Obtenez le fichier ia-common.jar à partir de l'emplacement d'installation d'InfoSphere Information Server et ajoutez-le au chemin d'accès aux classes de votre projet. Ce fichier JAR se trouve dans les dossiers ASBNODE\lib\java ou ASBServer\lib.
- Créez un fichier classe avec votre nom personnalisé et implémentez ValueBasedClassifier.
- Remédiez au problème de compilation en important l'interface ValueBasedClassifier dans la classe personnalisée qui réside dans ia-common.jar.
- Implémentez la méthode public boolean matchValue(Object value) et écrivez la logique personnalisée dedans. La méthode renvoie la valeur true ou false en fonction de la valeur transmise.
- Exportez le discriminant en tant que fichier JAR avec n'importe quel nom requis.
Exemple
package my.test.classifier;
import com.ibm.infosphere.ia.classification.ValueBasedClassifier;
public class MyCustom implements ValueBasedClassifier {
public boolean matchValue(Object value) {
// si la valeur est un nombre, elle correspond à la classe si elle figure dans la plage prévue
if (value instanceof Number) {
int intValue = ((Number)value).intValue();
return intValue>600000000 && intValue<999999999;
}
// si la valeur n'est pas un nombre, elle ne peut pas correspondre à la classe
else {
return false;
}
}
}
Définition XML pour le discriminant ci-dessus :
<?xml version="1.0" encoding="UTF-8"?>
<tns:DataClasses
xmlns:tns="http://www.ibm.com/infosphere/ia/classification/DataclassesDefinition"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.ibm.com/infosphere/ia/classification
/DataclassesDefinition/../../../model/DataClassesDefinition.xsd ">
<tns:DataClass id="customID" name="CustomName"
description="Custom description" example="999999999">
<tns:JavaClassifier
className="my.test.classifier.MyCustom" />
<tns:DataTypeFilter>
<tns:LogicalDataType>numeric</tns:LogicalDataType>
</tns:DataTypeFilter>
</tns:DataClass>
</tns:DataClasses>
Que faire ensuite
Une fois les deux fichiers créés, regroupez-les à nouveau dans un fichier JAR avec le nom requis. Le principal fichier JAR est un regroupement des fichiers Customjar et xml. Au moment déploiement, transmettez le fichier Mainjar en tant que paramètre.
IAAdmin -user user_name -password password -url https://host:port -deployDataClasses <chemin d'accès au fichier Mainjar>
Installez les classes Java liées au nouveau discriminant Java à l'aide de la commande suivante sur les niveaux moteur et serveur.
IAAdmin -installClassifiers <chemin d'accès au fichier Mainjar>