Muestras de administrador de políticas

Puede utilizar el administrador de políticas de ejemplo para crear políticas de revisión personalizadas. Para obtener instrucciones sobre cómo crear políticas, consulte Creación de políticas personalizadas utilizando la API de revisión de políticas personalizadas.
Puede encontrar ejemplos de políticas personalizadas en el administrador de políticas de ejemplo en WebServerPath/extensionExamples/customPolicyGovernor/samplegovernor, donde WebServerPath es la vía de acceso del servidor web del repositorio de Rational Asset Manager.
El archivo de archivado Java de la política, CustomPolicyAPI.jar, reside en la misma carpeta. Su ubicación específica es 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;

Para correlacionar un administrador con Rational Asset Manager, consulte Definir administradores de políticas externas

El código siguiente es un administrador de políticas de muestra de Rational Asset Manager:
public class MyGovernor extends PolicyGovernor {
Nota: Las políticas se almacenan en una correlación. Para recuperar una política de la correlación, especifique el ID de política en el método getPolicies().get(id).

El código siguiente devuelve una lista de todas las políticas de activos disponibles en el administrador de políticas:

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

El método siguiente devuelve el nombre de visualización del administrador de políticas:

public String getDescription() {
 	return "A sample governor with a few policies.";
}

El método siguiente devuelve una única política, utilizando el ID de política:

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

El método siguiente devuelve el almacén de políticas privadas. El valor de retorno es una lista de todas las políticas disponibles que están definidas en el administrador. Las políticas se almacenan en un mapa; puede recuperar las políticas utilizando el método getPolicies().get(id).

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

El administrador consta de las políticas siguientes:

//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);

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

Comentarios