[MIF] – Enlever la balise RICH TEXT du champ long-description lors de l’intégration de données

TPAE 7.5 a introduit un joli contrôle Rich éditeur de texte pour l’édition et le formatage du champ longue description. Cela est valable pour Maximo et le SmartCloud Control Desk  à partir de la version 7.5.
Cette fonction est très bien dans certains cas, mais peut causer des problèmes…

Pour les scénarios d’intégration où les données Maximo, y compris les champs de longue description, sont envoyés à une application externe, il peut être nécessaire de dépouiller le contrôle Rich Text  dans le champ de longue description. Ce cas se posera lorsque le système consommateur ne peut pas traiter les données XML qui contient des balises riche texte.

Pour enlever les balises <– RICH TEXT –> , vous pouvez mettre en œuvre le code java suivant dans la classe de définition de la structure de l’objet qui traite le message à envoyer. Notez que ce même code peut être fait à partir de la sortie de l’utilisateur aussi.

Si la structure de l’objet a déjà une classe de définition, cette nouvelle classe doit étendre la classe existante. Si aucune classe de définition existe sur la structure de l’objet alors cette classe doit étendre psdi.iface.mic.MicSetOut.

Classe Java : 

package psdi.iface.mos;

import java.rmi.RemoteException;
import java.util.Map;

import psdi.iface.mic.MicSetOut;
import psdi.mbo.MboRemote;
import psdi.util.MXException;

public class RichTextDefnImpl extends MicSetOut 
{

	public RichTextDefnImpl() throws MXException, RemoteException 
	{
		super();
		// TODO Auto-generated constructor stub
	}
	
    public int checkBusinessRules(MboRemote mbo, MosDetailInfo mosDetIn-fo, Map<String, Object> ovrdColValueMap)
	    throws MXException, RemoteException
	{
        if(((psdi.mbo.Mbo)mbo).getThisMboSet().getMboSetInfo().getMboValueInfo("description_longdescription") != null)
        {
        	try
        	{
	        	javax.swing.text.html.HTMLEditorKit kit = new ja-vax.swing.text.html.HTMLEditorKit();
	        	javax.swing.text.html.HTMLDocument styledDocument = new javax.swing.text.html.HTMLDocument();
	        	java.io.StringReader reader = new ja-va.io.StringReader(mbo.getString("description_longdescription"));
	            
	        	kit.read(reader,styledDocument,0);
	        	ovrdColValueMap.put("description_longdescription", styledDocument.getText(0,styledDocument.getLength()));
        	}
        	catch(Exception e)
        	{
        		e.printStackTrace();
        	}
        }

		return MosConstants.PROCESS;
	}

	
}

La classe de définition de la structure de l’objet , doit être compilé et intégrée dans le fichier EAR d’application (reconstruire et redéployer le fichier EAR).

 

yhanbali
yhanbali

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.