import javax.persistence.Table;
import javax.persistence.Transient;
-import org.hibernate.annotations.Type;
import org.hibernate.annotations.TypeDef;
import org.hibernate.annotations.TypeDefs;
import org.onap.clamp.dao.model.jsontype.StringJsonUserType;
@Entity
@Table(name = "operational_policies")
@TypeDefs({ @TypeDef(name = "json", typeClass = StringJsonUserType.class) })
-public class OperationalPolicy implements Serializable, Policy {
+public class OperationalPolicy extends Policy implements Serializable {
/**
* The serial version ID.
*/
@Column(nullable = false, name = "name", unique = true)
private String name;
- @Expose
- @Type(type = "json")
- @Column(columnDefinition = "json", name = "configurations_json")
- private JsonObject configurationsJson;
-
- @Expose
- @Type(type = "json")
- @Column(columnDefinition = "json", name = "json_representation", nullable = false)
- private JsonObject jsonRepresentation;
-
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "loop_id", nullable = false)
private Loop loop;
public OperationalPolicy(String name, Loop loop, JsonObject configurationsJson) {
this.name = name;
this.loop = loop;
- this.configurationsJson = configurationsJson;
- LegacyOperationalPolicy.preloadConfiguration(this.configurationsJson, loop);
+ this.setConfigurationsJson(configurationsJson);
+ LegacyOperationalPolicy.preloadConfiguration(configurationsJson, loop);
try {
- this.jsonRepresentation = OperationalPolicyRepresentationBuilder
- .generateOperationalPolicySchema(loop.getModelService());
+ this.setJsonRepresentation(
+ OperationalPolicyRepresentationBuilder.generateOperationalPolicySchema(loop.getModelService()));
} catch (JsonSyntaxException | IOException | NullPointerException e) {
logger.error("Unable to generate the operational policy Schema ... ", e);
- this.jsonRepresentation = new JsonObject();
+ this.setJsonRepresentation(new JsonObject());
}
}
- @Override
- public String getName() {
- return name;
- }
-
public void setLoop(Loop loopName) {
this.loop = loopName;
}
return loop;
}
- public JsonObject getConfigurationsJson() {
- return configurationsJson;
+ @Override
+ public String getName() {
+ return name;
}
- public void setConfigurationsJson(JsonObject configurationsJson) {
- this.configurationsJson = configurationsJson;
+ /**
+ * name setter.
+ *
+ * @param name the name to set
+ */
+ @Override
+ public void setName(String name) {
+ this.name = name;
}
/**
this.policyModel = policyModel;
}
- /**
- * name setter.
- *
- * @param name the name to set
- */
- public void setName(String name) {
- this.name = name;
- }
-
- @Override
- public JsonObject getJsonRepresentation() {
- return jsonRepresentation;
- }
-
- void setJsonRepresentation(JsonObject jsonRepresentation) {
- this.jsonRepresentation = jsonRepresentation;
- }
-
@Override
public int hashCode() {
final int prime = 31;
metadata.addProperty("policy-id", this.name);
operationalPolicyDetails.add("properties", LegacyOperationalPolicy
- .reworkPayloadAttributes(this.configurationsJson.get("operational_policy").deepCopy()));
+ .reworkPayloadAttributes(this.getConfigurationsJson().get("operational_policy").deepCopy()));
DumperOptions options = new DumperOptions();
options.setIndent(2);
// Now using the legacy payload fo Dublin
JsonObject payload = new JsonObject();
payload.addProperty("policy-id", this.getName());
- payload.addProperty("content", URLEncoder.encode(LegacyOperationalPolicy.createPolicyPayloadYamlLegacy(
- this.configurationsJson.get("operational_policy")), StandardCharsets.UTF_8.toString()));
+ payload.addProperty("content",
+ URLEncoder.encode(
+ LegacyOperationalPolicy
+ .createPolicyPayloadYamlLegacy(this.getConfigurationsJson().get("operational_policy")),
+ StandardCharsets.UTF_8.toString()));
String opPayload = new GsonBuilder().setPrettyPrinting().create().toJson(payload);
logger.info("Operational policy payload: " + opPayload);
return opPayload;
}
/**
- * Regenerate the Operational Policy Json Representation.
- *
- */
+ * Regenerate the Operational Policy Json Representation.
+ *
+ */
public void updateJsonRepresentation() {
try {
- this.jsonRepresentation = OperationalPolicyRepresentationBuilder
- .generateOperationalPolicySchema(loop.getModelService());
+ this.setJsonRepresentation(
+ OperationalPolicyRepresentationBuilder.generateOperationalPolicySchema(loop.getModelService()));
} catch (JsonSyntaxException | IOException | NullPointerException e) {
logger.error("Unable to generate the operational policy Schema ... ", e);
- this.jsonRepresentation = new JsonObject();
+ this.setJsonRepresentation(new JsonObject());
}
}
}