virtualNetworkFunctionRecord.setAuto_scale_policy(new HashSet<AutoScalePolicy>()); for (AutoScalePolicy autoScalePolicy : vnfd.getAuto_scale_policy()) { AutoScalePolicy newAutoScalePolicy = new AutoScalePolicy(); newAutoScalePolicy.setName(autoScalePolicy.getName()); newAutoScalePolicy.setType(autoScalePolicy.getType()); newAutoScalePolicy.setCooldown(autoScalePolicy.getCooldown()); newAutoScalePolicy.setPeriod(autoScalePolicy.getPeriod()); newAutoScalePolicy.setComparisonOperator(autoScalePolicy.getComparisonOperator()); newAutoScalePolicy.setThreshold(autoScalePolicy.getThreshold()); newAutoScalePolicy.setMode(autoScalePolicy.getMode()); newAutoScalePolicy.setActions(new HashSet<ScalingAction>()); for (ScalingAction action : autoScalePolicy.getActions()) { ScalingAction newAction = new ScalingAction(); newAction.setValue(action.getValue()); newAction.setTarget(action.getTarget()); newAutoScalePolicy.getActions().add(newAction); newAutoScalePolicy.setAlarms(new HashSet<ScalingAlarm>()); for (ScalingAlarm alarm : autoScalePolicy.getAlarms()) { ScalingAlarm newAlarm = new ScalingAlarm(); newAlarm.setComparisonOperator(alarm.getComparisonOperator()); newAlarm.setThreshold(alarm.getThreshold()); newAlarm.setWeight(alarm.getWeight()); newAutoScalePolicy.getAlarms().add(newAlarm);
AutoScalePolicy asp = new AutoScalePolicy(); asp.setName(key); asp.setThreshold((double) policyMap.get("threshold")); asp.setComparisonOperator((String) policyMap.get("comparisonOperator")); asp.setPeriod((Integer) policyMap.get("period")); asp.setCooldown((Integer) policyMap.get("cooldown")); asp.setMode(ScalingMode.valueOf((String) policyMap.get("mode"))); asp.setType(ScalingType.valueOf((String) policyMap.get("type"))); asp.setAlarms(alarms); asp.setActions(actions);