List<AutoscalePolicy> asPolicyList = new ArrayList<AutoscalePolicy>();
RegistryManager registryManager = RegistryManager.getInstance();
String[] partitionsResourceList = (String[]) registryManager.retrieve(AutoScalerConstants.AUTOSCALER_RESOURCE + AutoScalerConstants.AS_POLICY_RESOURCE);
if (partitionsResourceList != null) {
AutoscalePolicy asPolicy;
for (String resourcePath : partitionsResourceList) {
Object serializedObj = registryManager.retrieve(resourcePath);
if (serializedObj != null) {
try {
Object dataObj = Deserializer.deserializeFromByteArray((byte[]) serializedObj);
if (dataObj instanceof AutoscalePolicy) {
asPolicy = (AutoscalePolicy) dataObj;
if(log.isDebugEnabled()) {
log.debug(String.format("Autoscaler policy read from registry: [id] %s [name] %s [description] %s",
asPolicy.getId(), asPolicy.getDisplayName(), asPolicy.getDescription()));
}
asPolicyList.add(asPolicy);
} else {
return null;
}