import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.annotations.Expose;
-import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Map;
import javax.persistence.Column;
import org.hibernate.annotations.TypeDef;
import org.hibernate.annotations.TypeDefs;
import org.json.JSONObject;
-import org.onap.clamp.clds.tosca.update.TemplateManagement;
-import org.onap.clamp.clds.tosca.update.UnknownComponentException;
-import org.onap.clamp.clds.util.ResourceFileUtil;
+import org.onap.clamp.clds.tosca.update.ToscaConverterWithDictionarySupport;
import org.onap.clamp.dao.model.jsontype.StringJsonUserType;
import org.onap.clamp.loop.common.AuditEntity;
+import org.onap.clamp.loop.service.Service;
import org.onap.clamp.loop.template.LoopElementModel;
import org.onap.clamp.loop.template.PolicyModel;
import org.yaml.snakeyaml.Yaml;
return new Gson().fromJson(jsonObject.toString(), JsonObject.class);
}
- private String getModelPropertyNameFromTosca(JsonObject object, String policyModelType) {
- return object.getAsJsonObject("policy_types").getAsJsonObject(policyModelType)
- .getAsJsonObject(
- "properties")
- .keySet().toArray(new String[1])[0];
- }
-
/**
* This method create the policy payload that must be sent to PEF.
*
JsonObject policyDetails = new JsonObject();
thisPolicy.add(this.getName(), policyDetails);
policyDetails.addProperty("type", this.getPolicyModel().getPolicyModelType());
+ policyDetails.addProperty("type_version", this.getPolicyModel().getVersion());
policyDetails.addProperty("version", this.getPolicyModel().getVersion());
JsonObject policyMetadata = new JsonObject();
policyDetails.add("metadata", policyMetadata);
policyMetadata.addProperty("policy-id", this.getName());
- JsonObject policyProperties = new JsonObject();
- policyDetails.add("properties", policyProperties);
- policyProperties
- .add(this.getModelPropertyNameFromTosca(toscaJson, this.getPolicyModel().getPolicyModelType()),
- this.getConfigurationsJson());
+ policyDetails.add("properties", this.getConfigurationsJson());
+
String policyPayload = new GsonBuilder().setPrettyPrinting().create().toJson(policyPayloadResult);
logger.info("Policy payload: " + policyPayload);
return policyPayload;
this.jsonRepresentation = jsonRepresentation;
}
+ /**
+ * Regenerate the Policy Json Representation.
+ *
+ * @param toscaConverter The tosca converter required to regenerate the json schema
+ * @param serviceModel The service model associated
+ */
+ public abstract void updateJsonRepresentation(ToscaConverterWithDictionarySupport toscaConverter,
+ Service serviceModel);
+
/**
* policyModel getter.
*
.append(blueprintFilename.replaceAll(".yaml", ""));
return buffer.toString().replace('.', '_').replaceAll(" ", "");
}
-
- /**
- * This method can be used to generate the json Schema used by the UI.
- *
- * @param policyToscaModel The tosca model as String that must be converted
- * @param policyModelType The tosca model type (the policy_type entry in the tosca) that will used to create the
- * json schema
- * @return THe Json Schema as JsonObject
- * @throws IOException In case of failure when opening the templates.properties file
- * @throws UnknownComponentException If the policyModelType is not found in the tosca model
- */
- public static JsonObject generateJsonRepresentationFromToscaModel(String policyToscaModel,
- String policyModelType)
- throws IOException, UnknownComponentException {
- return new TemplateManagement(policyToscaModel,ResourceFileUtil.getResourceAsString(
- "clds/tosca_update/defaultToscaTypes.yaml"),
- ResourceFileUtil.getResourceAsString("clds/tosca_update/templates.properties"))
- .launchTranslation(policyModelType);
- }
}