Amostras do Governor de Política

Você pode usar o governor de política de amostra para criar políticas de revisão customizadas. Para obter instruções para criar políticas, consulte Criando Políticas Customizadas Utilizando a API de Revisão de Política Customizada.
Encontre exemplos de política customizada em WebServerPath/extensionExamples/customPolicyGovernor/SampleGovernor.jar, em que WebServerPath é o caminho do servidor da Web do seu repositório do Rational Asset Manager.
O arquivo de Java de política, CustomPolicyAPI.jar, está na mesma pasta. Seu local específico é 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 mapear um governor para Rational Asset Manager, consulte Definindo Governors de Política Externos

O código a seguir é um governor de política de amostra do Rational Asset Manager:
public class MyGovernor extends PolicyGovernor {
Nota: As políticas são armazenadas em um mapa. Para recuperar uma política a partir do mapa, digite o ID da política no método getPolicies().get(id).

O código a seguir retorna uma lista de todas as políticas de recurso que estão disponíveis no governor de política:

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

O método a seguir retorna o nome de exibição do governor de política:

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

O método a seguir retorna uma única política usando o ID de política:

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

O seguinte método retorna o armazenamento de política privada. Esse valor de retorno é uma matriz que lista todas as políticas disponíveis definidas no governor. As políticas são armazenadas em um mapa; é possível recuperar as políticas usando o método getPolicies().get(id).

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

O controlador consiste nas seguintes políticas:

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

Feedback