summaryrefslogtreecommitdiffstats
path: root/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/HeatTemplate.java
diff options
context:
space:
mode:
Diffstat (limited to 'mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/HeatTemplate.java')
-rw-r--r--mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/HeatTemplate.java217
1 files changed, 217 insertions, 0 deletions
diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/HeatTemplate.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/HeatTemplate.java
new file mode 100644
index 0000000000..a80fa598b9
--- /dev/null
+++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/HeatTemplate.java
@@ -0,0 +1,217 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * OPENECOMP - MSO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.db.catalog.beans;
+
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.sql.Timestamp;
+import java.text.DateFormat;
+import java.util.Date;
+import java.util.Set;
+
+import org.openecomp.mso.db.catalog.utils.MavenLikeVersioning;
+import org.openecomp.mso.logger.MsoLogger;
+
+public class HeatTemplate extends MavenLikeVersioning {
+
+ private static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.GENERAL);
+
+ private int id;
+ private String templateName;
+ private String templatePath = null;
+ private String templateBody = null;
+ private int timeoutMinutes;
+ private Set <HeatTemplateParam> parameters;
+ private Set <HeatNestedTemplate> files;
+ private String description;
+ private String asdcUuid;
+ private String asdcResourceName;
+ private String asdcLabel;
+
+ private Timestamp created;
+
+ public enum TemplateStatus {
+ PARENT, CHILD, PARENT_COMPLETE
+ }
+
+ public HeatTemplate () {
+ }
+
+ public int getId () {
+ return id;
+ }
+
+ public void setId (int id) {
+ this.id = id;
+ }
+
+ public String getTemplateName () {
+ return templateName;
+ }
+
+ public void setTemplateName (String templateName) {
+ this.templateName = templateName;
+ }
+
+ public String getTemplatePath () {
+ return templatePath;
+ }
+
+ public void setTemplatePath (String templatePath) {
+ this.templatePath = templatePath;
+ }
+
+ public String getTemplateBody () {
+ return templateBody;
+ }
+
+ public void setTemplateBody (String templateBody) {
+ this.templateBody = templateBody;
+ }
+
+ public int getTimeoutMinutes () {
+ return timeoutMinutes;
+ }
+
+ public void setTimeoutMinutes (int timeout) {
+ this.timeoutMinutes = timeout;
+ }
+
+ public Set <HeatTemplateParam> getParameters () {
+ return parameters;
+ }
+
+ public void setParameters (Set <HeatTemplateParam> parameters) {
+ this.parameters = parameters;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public String getHeatTemplate () {
+ if (templateBody != null && !templateBody.isEmpty ()) {
+ // The template body is in the DB table. Just return it.
+ return templateBody;
+ }
+
+ String body = null;
+
+ try (BufferedReader reader = new BufferedReader (new FileReader (templatePath)))
+ {
+ String line = null;
+ StringBuilder stringBuilder = new StringBuilder ();
+ while ((line = reader.readLine ()) != null) {
+ stringBuilder.append (line);
+ }
+ body = stringBuilder.toString ();
+ } catch (Exception e) {
+ LOGGER.debug ("Error reading template file " + templatePath, e);
+ }
+
+ return body;
+ }
+
+ public void setFiles (Set <HeatNestedTemplate> files) {
+ this.files = files;
+ }
+
+ public Set <HeatNestedTemplate> getFiles () {
+ return this.files;
+ }
+
+ public String getAsdcUuid() {
+ return asdcUuid;
+ }
+
+ public void setAsdcUuid(String asdcUuidp) {
+ this.asdcUuid = asdcUuidp;
+ }
+
+ public String getAsdcResourceName() {
+ return asdcResourceName;
+ }
+
+ public void setAsdcResourceName(String asdcResourceName) {
+ this.asdcResourceName = asdcResourceName;
+ }
+ public String getAsdcLabel() {
+ return this.asdcLabel;
+ }
+ public void setAsdcLabel(String asdcLabel) {
+ this.asdcLabel = asdcLabel;
+ }
+
+ public Timestamp getCreated() {
+ return created;
+ }
+
+ public void setCreated(Timestamp created) {
+ this.created = created;
+ }
+
+ @Override
+ public String toString () {
+ String body = (templateBody != null) ? "(" + templateBody.length () + " chars)" : "(Not defined)";
+ StringBuilder sb = new StringBuilder ();
+ sb.append ("Template=")
+ .append (templateName)
+ .append (",version=")
+ .append (version)
+ .append (",path=")
+ .append (templatePath)
+ .append (",body=")
+ .append (body)
+ .append (",timeout=")
+ .append (timeoutMinutes)
+ .append (",asdcUuid=")
+ .append (asdcUuid)
+ .append (",asdcResourceName=")
+ .append (asdcResourceName)
+ .append (",description=")
+ .append (description);
+ if (created != null) {
+ sb.append (",created=");
+ sb.append (DateFormat.getInstance().format(created));
+ }
+
+
+ if (parameters != null && !parameters.isEmpty ()) {
+ sb.append (",params=[");
+ for (HeatTemplateParam param : parameters) {
+ sb.append (param.getParamName ());
+ if (param.isRequired ()) {
+ sb.append ("(reqd)");
+ }
+ sb.append (",");
+ }
+ sb.replace (sb.length () - 1, sb.length (), "]");
+ }
+ return sb.toString ();
+ }
+
+
+}