Exemples de gouverneurs de stratégies

Vous pouvez utiliser l'exemple de gouverneur de stratégies pour créer des statégies de révision personnalisées. Pour des instructions pour créer des stratégies, voir Créer des stratégies personnalisées en utilisant l'API d'examen des stratégies personnalisées.
Vous trouverez des exemples de stratégies personnalisées dans l'exemple de gouverneur de stratégies WebServerPath/extensionExamples/customPolicyGovernor/SampleGovernor.jar, où WebServerPath est le chemin du serveur Web de votre référentiel Rational Asset Manager.
Le fichier CustomPolicyAPI.jar d'archive Java de la stratégie se trouve dans le même dossier. Son emplacement spécifique est WebServerPath/extensionExamples/customPolicyGovernor/CustomPolicyAPI.jar.
package com.ibm.ram.extension.demo.policy;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

import com.ibm.ram.extension.PolicyGovernor;
import com.ibm.ram.policy.AssetPolicy;
import com.ibm.ram.policy.Policy;

Pour mapper un gouverneur vers Rational Asset Manager, voir Définir des gouverneurs de stratégies externes.

Le code suivant est un exemple de gouverneur de stratégies Rational Asset Manager :
public
class MyGovernor extends PolicyGovernor {
Remarque : Les stratégies sont stockées dans une mappe. Pour récupérer une stratégie de la mappe, entrez l'ID de stratégie dans la méthode getPolicies().get(id).

Le code suivant renvoie la liste de toutes les stratégies d'actifs disponibles dans le gouverneur de stratégies :

public AssetPolicy[] getAssetPolicies() { 		
	Collection policiesCollection = getPolicies().values(); 		 		
	AssetPolicy[] policies = (AssetPolicy[])policiesCollection.toArray(new
	AssetPolicy[policiesCollection.size()]);
	return policies; 
}

La méthode suivante renvoie le nom affiché pour le gouverneur de stratégies :

public String getDescription() {
 	return "Exemple de gouverneur avec quelques stratégies.";
}

La méthode suivante renvoie une stratégie particulière d'après l'ID qui lui est fourni en argument :

public Policy getPolicy(String id) {
 	return (Policy)getPolicies().get(id);
}

La méthode suivante renvoie le conteneur de stratégies privé. Cette valeur renvoyée est un tableau qui répertorie toutes les stratégies disponibles définies dans le régulateur. Les stratégies sont stockées dans une mappe pour que vous puissiez récupérer des stratégies grâce à la méthode getPolicies().get(id).

private Map getPolicies(){
 	if(policies == null){
 		initPolicies();
 	}
	return policies; 
}

Le gouverneur est constitué des stratégies suivantes :

//Policy = Set up policy store
private synchronized void initPolicies(){
 	policies = new HashMap();

//Policy = My XML Policy
Policy policy = new MyPolicy(this);
 	policies.put(policy.getID(), policy);

//Policy = Odd MinutePolicy
policy = new OddMinutePolicy(this);
 	policies.put(policy.getID(), policy);

//Policy = Asset Level Messages Policy
policy = new AssetMessagesPolicy(this);
 	policies.put(policy.getID(), policy);

//Policy = Artifact Level Messages Policy
policy = new ArtifactMessagesPolicy(this);
 	policies.put(policy.getID(), policy);

//WS-I WSDL Policy
policy = new WSIPolicy(this);
 	policies.put(policy.getID(), policy); 	
}

Commentaires