+ this.key = new PfReferenceKey(copyConcept.key);
+ this.description = copyConcept.description;
+ this.policies = (copyConcept.policies != null ? new JpaToscaPolicies(copyConcept.policies) : null);
+ }
+
+ /**
+ * Authorative constructor.
+ *
+ * @param authorativeConcept the authorative concept to copy from
+ */
+ public JpaToscaTopologyTemplate(final ToscaTopologyTemplate authorativeConcept) {
+ this.fromAuthorative(authorativeConcept);
+ }
+
+ @Override
+ public ToscaTopologyTemplate toAuthorative() {
+ final ToscaTopologyTemplate toscaTopologyTemplate = new ToscaTopologyTemplate();
+
+ toscaTopologyTemplate.setDescription(description);
+
+ if (policies != null) {
+ toscaTopologyTemplate.setPolicies(policies.toAuthorative());
+ }
+
+ return toscaTopologyTemplate;
+ }
+
+ @Override
+ public void fromAuthorative(ToscaTopologyTemplate toscaTopologyTemplate) {
+ description = toscaTopologyTemplate.getDescription();
+
+ if (toscaTopologyTemplate.getPolicies() != null) {
+ policies = new JpaToscaPolicies();
+ policies.fromAuthorative(toscaTopologyTemplate.getPolicies());
+ }