aboutsummaryrefslogtreecommitdiffstats
path: root/dcae-controller-service/dcae-controller-service-storage-postgres-model/src
diff options
context:
space:
mode:
authorlj1412 <lji@research.att.com>2017-02-14 15:12:08 +0000
committerlj1412 <lji@research.att.com>2017-02-14 15:12:10 +0000
commita84b847a3409df445482674feffa2872a8cbae83 (patch)
treea4f2dcaef92e0fb09402f2f28f793928d0a16bfd /dcae-controller-service/dcae-controller-service-storage-postgres-model/src
parente6bca17737d1897675e6403e196fc2a61f335651 (diff)
Init dcae.controller
Change-Id: I460f09494faa84b55d9c5d54112e098b0e74d007 Signed-off-by: lj1412 <lji@research.att.com>
Diffstat (limited to 'dcae-controller-service/dcae-controller-service-storage-postgres-model/src')
-rw-r--r--dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/Contact.java71
-rw-r--r--dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ContrailController.java130
-rw-r--r--dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ControllerServiceStoragePostgresService.java40
-rw-r--r--dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ControllerServiceStoragePostgresServiceConfiguration.java185
-rw-r--r--dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ControllerServiceStoragePostgresServiceInstance.java39
-rw-r--r--dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/Database.java134
-rw-r--r--dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/PostgresServiceConfiguration.java90
-rw-r--r--dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/Role.java143
-rw-r--r--dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ServiceFactory.java90
-rw-r--r--dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ServicePackage.java716
-rw-r--r--dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/ContactImpl.java185
-rw-r--r--dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/DatabaseImpl.java335
-rw-r--r--dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/PostgresServiceConfigurationImpl.java237
-rw-r--r--dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/RoleImpl.java333
-rw-r--r--dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/ServiceFactoryImpl.java149
-rw-r--r--dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/ServicePackageImpl.java420
-rw-r--r--dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/util/ServiceAdapterFactory.java230
-rw-r--r--dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/util/ServiceSwitch.java228
-rw-r--r--dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore/service.xcore58
19 files changed, 3813 insertions, 0 deletions
diff --git a/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/Contact.java b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/Contact.java
new file mode 100644
index 0000000..e97690f
--- /dev/null
+++ b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/Contact.java
@@ -0,0 +1,71 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.dcae.controller.service.storage.postgres.service;
+
+import org.openecomp.ncomp.core.NamedEntity;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Contact</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.Contact#getFullName <em>Full Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getContact()
+ * @model
+ * @generated
+ */
+public interface Contact extends NamedEntity {
+ /**
+ * Returns the value of the '<em><b>Full Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Full Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Full Name</em>' attribute.
+ * @see #setFullName(String)
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getContact_FullName()
+ * @model unique="false"
+ * @generated
+ */
+ String getFullName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.Contact#getFullName <em>Full Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Full Name</em>' attribute.
+ * @see #getFullName()
+ * @generated
+ */
+ void setFullName(String value);
+
+} // Contact
diff --git a/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ContrailController.java b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ContrailController.java
new file mode 100644
index 0000000..1be6e2d
--- /dev/null
+++ b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ContrailController.java
@@ -0,0 +1,130 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.dcae.controller.service.storage.postgres.service;
+
+import org.openecomp.ncomp.core.NamedEntity;
+
+import org.openecomp.ncomp.core.types.metrics.IncreasingULongMetricAttribute;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Contrail Controller</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.ContrailController#getContailIp <em>Contail Ip</em>}</li>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.ContrailController#getNumberOfRecords <em>Number Of Records</em>}</li>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.ContrailController#getNumberOfErrors <em>Number Of Errors</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getContrailController()
+ * @model
+ * @generated
+ */
+public interface ContrailController extends NamedEntity {
+ /**
+ * Returns the value of the '<em><b>Contail Ip</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Contail Ip</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Contail Ip</em>' attribute.
+ * @see #setContailIp(String)
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getContrailController_ContailIp()
+ * @model unique="false"
+ * annotation="http://openecomp.org type='configuration'"
+ * @generated
+ */
+ String getContailIp();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.ContrailController#getContailIp <em>Contail Ip</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Contail Ip</em>' attribute.
+ * @see #getContailIp()
+ * @generated
+ */
+ void setContailIp(String value);
+
+ /**
+ * Returns the value of the '<em><b>Number Of Records</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Number Of Records</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Number Of Records</em>' attribute.
+ * @see #setNumberOfRecords(IncreasingULongMetricAttribute)
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getContrailController_NumberOfRecords()
+ * @model unique="false" dataType="org.openecomp.ncomp.core.IncreasingULongMetricAttribute"
+ * annotation="http://openecomp.org type='operational'"
+ * @generated
+ */
+ IncreasingULongMetricAttribute getNumberOfRecords();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.ContrailController#getNumberOfRecords <em>Number Of Records</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Number Of Records</em>' attribute.
+ * @see #getNumberOfRecords()
+ * @generated
+ */
+ void setNumberOfRecords(IncreasingULongMetricAttribute value);
+
+ /**
+ * Returns the value of the '<em><b>Number Of Errors</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Number Of Errors</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Number Of Errors</em>' attribute.
+ * @see #setNumberOfErrors(IncreasingULongMetricAttribute)
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getContrailController_NumberOfErrors()
+ * @model unique="false" dataType="org.openecomp.ncomp.core.IncreasingULongMetricAttribute"
+ * annotation="http://openecomp.org type='operational'"
+ * @generated
+ */
+ IncreasingULongMetricAttribute getNumberOfErrors();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.ContrailController#getNumberOfErrors <em>Number Of Errors</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Number Of Errors</em>' attribute.
+ * @see #getNumberOfErrors()
+ * @generated
+ */
+ void setNumberOfErrors(IncreasingULongMetricAttribute value);
+
+} // ContrailController
diff --git a/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ControllerServiceStoragePostgresService.java b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ControllerServiceStoragePostgresService.java
new file mode 100644
index 0000000..b96525f
--- /dev/null
+++ b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ControllerServiceStoragePostgresService.java
@@ -0,0 +1,40 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.dcae.controller.service.storage.postgres.service;
+
+import org.openecomp.dcae.controller.service.vm.VirtualMachineService;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Controller Service Storage Postgres Service</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getControllerServiceStoragePostgresService()
+ * @model
+ * @generated
+ */
+public interface ControllerServiceStoragePostgresService extends VirtualMachineService {
+
+} // ControllerServiceStoragePostgresService
diff --git a/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ControllerServiceStoragePostgresServiceConfiguration.java b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ControllerServiceStoragePostgresServiceConfiguration.java
new file mode 100644
index 0000000..3fbb19c
--- /dev/null
+++ b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ControllerServiceStoragePostgresServiceConfiguration.java
@@ -0,0 +1,185 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.dcae.controller.service.storage.postgres.service;
+
+import org.openecomp.ncomp.core.types.metrics.IncreasingULongMetricAttribute;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Controller Service Storage Postgres Service Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.ControllerServiceStoragePostgresServiceConfiguration#getJdbcUrl <em>Jdbc Url</em>}</li>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.ControllerServiceStoragePostgresServiceConfiguration#getNumberOfJdbcCommands <em>Number Of Jdbc Commands</em>}</li>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.ControllerServiceStoragePostgresServiceConfiguration#getNumberOfJdbcErrors <em>Number Of Jdbc Errors</em>}</li>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.ControllerServiceStoragePostgresServiceConfiguration#getEncryptedAdminPassword <em>Encrypted Admin Password</em>}</li>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.ControllerServiceStoragePostgresServiceConfiguration#getConfig <em>Config</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getControllerServiceStoragePostgresServiceConfiguration()
+ * @model
+ * @generated
+ */
+public interface ControllerServiceStoragePostgresServiceConfiguration extends EObject {
+ /**
+ * Returns the value of the '<em><b>Jdbc Url</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Jdbc Url</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Jdbc Url</em>' attribute.
+ * @see #setJdbcUrl(String)
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getControllerServiceStoragePostgresServiceConfiguration_JdbcUrl()
+ * @model unique="false"
+ * annotation="http://openecomp.org type='configuration'"
+ * @generated
+ */
+ String getJdbcUrl();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.ControllerServiceStoragePostgresServiceConfiguration#getJdbcUrl <em>Jdbc Url</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Jdbc Url</em>' attribute.
+ * @see #getJdbcUrl()
+ * @generated
+ */
+ void setJdbcUrl(String value);
+
+ /**
+ * Returns the value of the '<em><b>Number Of Jdbc Commands</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Number Of Jdbc Commands</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Number Of Jdbc Commands</em>' attribute.
+ * @see #setNumberOfJdbcCommands(IncreasingULongMetricAttribute)
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getControllerServiceStoragePostgresServiceConfiguration_NumberOfJdbcCommands()
+ * @model unique="false" dataType="org.openecomp.ncomp.core.IncreasingULongMetricAttribute"
+ * annotation="http://openecomp.org type='operational'"
+ * @generated
+ */
+ IncreasingULongMetricAttribute getNumberOfJdbcCommands();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.ControllerServiceStoragePostgresServiceConfiguration#getNumberOfJdbcCommands <em>Number Of Jdbc Commands</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Number Of Jdbc Commands</em>' attribute.
+ * @see #getNumberOfJdbcCommands()
+ * @generated
+ */
+ void setNumberOfJdbcCommands(IncreasingULongMetricAttribute value);
+
+ /**
+ * Returns the value of the '<em><b>Number Of Jdbc Errors</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Number Of Jdbc Errors</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Number Of Jdbc Errors</em>' attribute.
+ * @see #setNumberOfJdbcErrors(IncreasingULongMetricAttribute)
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getControllerServiceStoragePostgresServiceConfiguration_NumberOfJdbcErrors()
+ * @model unique="false" dataType="org.openecomp.ncomp.core.IncreasingULongMetricAttribute"
+ * annotation="http://openecomp.org type='operational'"
+ * @generated
+ */
+ IncreasingULongMetricAttribute getNumberOfJdbcErrors();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.ControllerServiceStoragePostgresServiceConfiguration#getNumberOfJdbcErrors <em>Number Of Jdbc Errors</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Number Of Jdbc Errors</em>' attribute.
+ * @see #getNumberOfJdbcErrors()
+ * @generated
+ */
+ void setNumberOfJdbcErrors(IncreasingULongMetricAttribute value);
+
+ /**
+ * Returns the value of the '<em><b>Encrypted Admin Password</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Encrypted Admin Password</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Encrypted Admin Password</em>' attribute.
+ * @see #setEncryptedAdminPassword(String)
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getControllerServiceStoragePostgresServiceConfiguration_EncryptedAdminPassword()
+ * @model unique="false"
+ * annotation="http://openecomp.org type='configuration'"
+ * @generated
+ */
+ String getEncryptedAdminPassword();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.ControllerServiceStoragePostgresServiceConfiguration#getEncryptedAdminPassword <em>Encrypted Admin Password</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Encrypted Admin Password</em>' attribute.
+ * @see #getEncryptedAdminPassword()
+ * @generated
+ */
+ void setEncryptedAdminPassword(String value);
+
+ /**
+ * Returns the value of the '<em><b>Config</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Config</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Config</em>' attribute.
+ * @see #setConfig(String)
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getControllerServiceStoragePostgresServiceConfiguration_Config()
+ * @model unique="false"
+ * annotation="http://openecomp.org type='configuration'"
+ * @generated
+ */
+ String getConfig();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.ControllerServiceStoragePostgresServiceConfiguration#getConfig <em>Config</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Config</em>' attribute.
+ * @see #getConfig()
+ * @generated
+ */
+ void setConfig(String value);
+
+} // ControllerServiceStoragePostgresServiceConfiguration
diff --git a/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ControllerServiceStoragePostgresServiceInstance.java b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ControllerServiceStoragePostgresServiceInstance.java
new file mode 100644
index 0000000..04474a1
--- /dev/null
+++ b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ControllerServiceStoragePostgresServiceInstance.java
@@ -0,0 +1,39 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.dcae.controller.service.storage.postgres.service;
+
+import org.openecomp.dcae.controller.service.vm.VirtualMachineServiceInstance;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Controller Service Storage Postgres Service Instance</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getControllerServiceStoragePostgresServiceInstance()
+ * @model
+ * @generated
+ */
+public interface ControllerServiceStoragePostgresServiceInstance extends VirtualMachineServiceInstance, ControllerServiceStoragePostgresServiceConfiguration {
+} // ControllerServiceStoragePostgresServiceInstance
diff --git a/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/Database.java b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/Database.java
new file mode 100644
index 0000000..6992060
--- /dev/null
+++ b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/Database.java
@@ -0,0 +1,134 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.dcae.controller.service.storage.postgres.service;
+
+import org.openecomp.ncomp.core.NamedEntity;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Database</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.Database#getDescription <em>Description</em>}</li>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.Database#getContacts <em>Contacts</em>}</li>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.Database#getOwnerRole <em>Owner Role</em>}</li>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.Database#getRoles <em>Roles</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getDatabase()
+ * @model
+ * @generated
+ */
+public interface Database extends NamedEntity {
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getDatabase_Description()
+ * @model unique="false"
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.Database#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+ /**
+ * Returns the value of the '<em><b>Contacts</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.dcae.controller.service.storage.postgres.service.Contact}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Contacts</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Contacts</em>' containment reference list.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getDatabase_Contacts()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Contact> getContacts();
+
+ /**
+ * Returns the value of the '<em><b>Owner Role</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Owner Role</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Owner Role</em>' attribute.
+ * @see #setOwnerRole(String)
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getDatabase_OwnerRole()
+ * @model unique="false"
+ * @generated
+ */
+ String getOwnerRole();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.Database#getOwnerRole <em>Owner Role</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Owner Role</em>' attribute.
+ * @see #getOwnerRole()
+ * @generated
+ */
+ void setOwnerRole(String value);
+
+ /**
+ * Returns the value of the '<em><b>Roles</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.dcae.controller.service.storage.postgres.service.Role}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Roles</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Roles</em>' containment reference list.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getDatabase_Roles()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Role> getRoles();
+
+} // Database
diff --git a/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/PostgresServiceConfiguration.java b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/PostgresServiceConfiguration.java
new file mode 100644
index 0000000..0dfcdb7
--- /dev/null
+++ b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/PostgresServiceConfiguration.java
@@ -0,0 +1,90 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.dcae.controller.service.storage.postgres.service;
+
+import org.openecomp.dcae.controller.service.common.vm.service.CommonVmServiceConfiguration;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Postgres Service Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.PostgresServiceConfiguration#getState <em>State</em>}</li>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.PostgresServiceConfiguration#getDatabases <em>Databases</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getPostgresServiceConfiguration()
+ * @model
+ * @generated
+ */
+public interface PostgresServiceConfiguration extends CommonVmServiceConfiguration {
+ /**
+ * Returns the value of the '<em><b>State</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>State</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>State</em>' attribute.
+ * @see #setState(String)
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getPostgresServiceConfiguration_State()
+ * @model unique="false"
+ * annotation="http://openecomp.org type='configuration'"
+ * @generated
+ */
+ String getState();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.PostgresServiceConfiguration#getState <em>State</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>State</em>' attribute.
+ * @see #getState()
+ * @generated
+ */
+ void setState(String value);
+
+ /**
+ * Returns the value of the '<em><b>Databases</b></em>' containment reference list.
+ * The list contents are of type {@link org.openecomp.dcae.controller.service.storage.postgres.service.Database}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Databases</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Databases</em>' containment reference list.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getPostgresServiceConfiguration_Databases()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Database> getDatabases();
+
+} // PostgresServiceConfiguration
diff --git a/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/Role.java b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/Role.java
new file mode 100644
index 0000000..7f68a28
--- /dev/null
+++ b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/Role.java
@@ -0,0 +1,143 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.dcae.controller.service.storage.postgres.service;
+
+import org.openecomp.ncomp.core.NamedEntity;
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Role</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.Role#getPassword <em>Password</em>}</li>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.Role#getRole <em>Role</em>}</li>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.Role#getRoleComments <em>Role Comments</em>}</li>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.Role#getFullName <em>Full Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getRole()
+ * @model
+ * @generated
+ */
+public interface Role extends NamedEntity {
+ /**
+ * Returns the value of the '<em><b>Password</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Password</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Password</em>' attribute.
+ * @see #setPassword(String)
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getRole_Password()
+ * @model unique="false"
+ * @generated
+ */
+ String getPassword();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.Role#getPassword <em>Password</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Password</em>' attribute.
+ * @see #getPassword()
+ * @generated
+ */
+ void setPassword(String value);
+
+ /**
+ * Returns the value of the '<em><b>Role</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Role</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Role</em>' attribute.
+ * @see #setRole(String)
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getRole_Role()
+ * @model unique="false"
+ * @generated
+ */
+ String getRole();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.Role#getRole <em>Role</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Role</em>' attribute.
+ * @see #getRole()
+ * @generated
+ */
+ void setRole(String value);
+
+ /**
+ * Returns the value of the '<em><b>Role Comments</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Role Comments</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Role Comments</em>' attribute list.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getRole_RoleComments()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getRoleComments();
+
+ /**
+ * Returns the value of the '<em><b>Full Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Full Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Full Name</em>' attribute.
+ * @see #setFullName(String)
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#getRole_FullName()
+ * @model unique="false"
+ * @generated
+ */
+ String getFullName();
+
+ /**
+ * Sets the value of the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.Role#getFullName <em>Full Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Full Name</em>' attribute.
+ * @see #getFullName()
+ * @generated
+ */
+ void setFullName(String value);
+
+} // Role
diff --git a/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ServiceFactory.java b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ServiceFactory.java
new file mode 100644
index 0000000..293f4a0
--- /dev/null
+++ b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ServiceFactory.java
@@ -0,0 +1,90 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.dcae.controller.service.storage.postgres.service;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage
+ * @generated
+ */
+public interface ServiceFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ServiceFactory eINSTANCE = org.openecomp.dcae.controller.service.storage.postgres.service.impl.ServiceFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Postgres Service Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Postgres Service Configuration</em>'.
+ * @generated
+ */
+ PostgresServiceConfiguration createPostgresServiceConfiguration();
+
+ /**
+ * Returns a new object of class '<em>Database</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Database</em>'.
+ * @generated
+ */
+ Database createDatabase();
+
+ /**
+ * Returns a new object of class '<em>Contact</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Contact</em>'.
+ * @generated
+ */
+ Contact createContact();
+
+ /**
+ * Returns a new object of class '<em>Role</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Role</em>'.
+ * @generated
+ */
+ Role createRole();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ServicePackage getServicePackage();
+
+} //ServiceFactory
diff --git a/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ServicePackage.java b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ServicePackage.java
new file mode 100644
index 0000000..f2f5e6f
--- /dev/null
+++ b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/ServicePackage.java
@@ -0,0 +1,716 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.dcae.controller.service.storage.postgres.service;
+
+import org.openecomp.ncomp.core.CorePackage;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServiceFactory
+ * @model kind="package"
+ * annotation="http://www.eclipse.org/emf/2002/GenModel modelDirectory='/dcae-controller-service-storage-postgres-model/src/main/xcore-gen' basePackage='org.openecomp.dcae.controller.service.storage.postgres'"
+ * annotation="http://www.eclipse.org/emf/2011/Xcore ecomp='http://openecomp.org'"
+ * @generated
+ */
+public interface ServicePackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "service";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "org.openecomp.dcae.controller.service.storage.postgres.service";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "service";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ServicePackage eINSTANCE = org.openecomp.dcae.controller.service.storage.postgres.service.impl.ServicePackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.impl.PostgresServiceConfigurationImpl <em>Postgres Service Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.impl.PostgresServiceConfigurationImpl
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.impl.ServicePackageImpl#getPostgresServiceConfiguration()
+ * @generated
+ */
+ int POSTGRES_SERVICE_CONFIGURATION = 0;
+
+ /**
+ * The feature id for the '<em><b>State</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POSTGRES_SERVICE_CONFIGURATION__STATE = org.openecomp.dcae.controller.service.common.vm.service.ServicePackage.COMMON_VM_SERVICE_CONFIGURATION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Databases</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POSTGRES_SERVICE_CONFIGURATION__DATABASES = org.openecomp.dcae.controller.service.common.vm.service.ServicePackage.COMMON_VM_SERVICE_CONFIGURATION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Postgres Service Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POSTGRES_SERVICE_CONFIGURATION_FEATURE_COUNT = org.openecomp.dcae.controller.service.common.vm.service.ServicePackage.COMMON_VM_SERVICE_CONFIGURATION_FEATURE_COUNT + 2;
+
+ /**
+ * The number of operations of the '<em>Postgres Service Configuration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int POSTGRES_SERVICE_CONFIGURATION_OPERATION_COUNT = org.openecomp.dcae.controller.service.common.vm.service.ServicePackage.COMMON_VM_SERVICE_CONFIGURATION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.impl.DatabaseImpl <em>Database</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.impl.DatabaseImpl
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.impl.ServicePackageImpl#getDatabase()
+ * @generated
+ */
+ int DATABASE = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATABASE__NAME = CorePackage.NAMED_ENTITY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Last Polled</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATABASE__LAST_POLLED = CorePackage.NAMED_ENTITY__LAST_POLLED;
+
+ /**
+ * The feature id for the '<em><b>Last Changed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATABASE__LAST_CHANGED = CorePackage.NAMED_ENTITY__LAST_CHANGED;
+
+ /**
+ * The feature id for the '<em><b>Created</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATABASE__CREATED = CorePackage.NAMED_ENTITY__CREATED;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATABASE__DESCRIPTION = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Contacts</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATABASE__CONTACTS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Owner Role</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATABASE__OWNER_ROLE = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Roles</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATABASE__ROLES = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Database</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATABASE_FEATURE_COUNT = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 4;
+
+ /**
+ * The number of operations of the '<em>Database</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DATABASE_OPERATION_COUNT = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.impl.ContactImpl <em>Contact</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.impl.ContactImpl
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.impl.ServicePackageImpl#getContact()
+ * @generated
+ */
+ int CONTACT = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTACT__NAME = CorePackage.NAMED_ENTITY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Last Polled</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTACT__LAST_POLLED = CorePackage.NAMED_ENTITY__LAST_POLLED;
+
+ /**
+ * The feature id for the '<em><b>Last Changed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTACT__LAST_CHANGED = CorePackage.NAMED_ENTITY__LAST_CHANGED;
+
+ /**
+ * The feature id for the '<em><b>Created</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTACT__CREATED = CorePackage.NAMED_ENTITY__CREATED;
+
+ /**
+ * The feature id for the '<em><b>Full Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTACT__FULL_NAME = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Contact</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTACT_FEATURE_COUNT = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Contact</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTACT_OPERATION_COUNT = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.impl.RoleImpl <em>Role</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.impl.RoleImpl
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.impl.ServicePackageImpl#getRole()
+ * @generated
+ */
+ int ROLE = 3;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROLE__NAME = CorePackage.NAMED_ENTITY__NAME;
+
+ /**
+ * The feature id for the '<em><b>Last Polled</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROLE__LAST_POLLED = CorePackage.NAMED_ENTITY__LAST_POLLED;
+
+ /**
+ * The feature id for the '<em><b>Last Changed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROLE__LAST_CHANGED = CorePackage.NAMED_ENTITY__LAST_CHANGED;
+
+ /**
+ * The feature id for the '<em><b>Created</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROLE__CREATED = CorePackage.NAMED_ENTITY__CREATED;
+
+ /**
+ * The feature id for the '<em><b>Password</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROLE__PASSWORD = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Role</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROLE__ROLE = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Role Comments</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROLE__ROLE_COMMENTS = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Full Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROLE__FULL_NAME = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Role</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROLE_FEATURE_COUNT = CorePackage.NAMED_ENTITY_FEATURE_COUNT + 4;
+
+ /**
+ * The number of operations of the '<em>Role</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ROLE_OPERATION_COUNT = CorePackage.NAMED_ENTITY_OPERATION_COUNT + 0;
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.dcae.controller.service.storage.postgres.service.PostgresServiceConfiguration <em>Postgres Service Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Postgres Service Configuration</em>'.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.PostgresServiceConfiguration
+ * @generated
+ */
+ EClass getPostgresServiceConfiguration();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.dcae.controller.service.storage.postgres.service.PostgresServiceConfiguration#getState <em>State</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>State</em>'.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.PostgresServiceConfiguration#getState()
+ * @see #getPostgresServiceConfiguration()
+ * @generated
+ */
+ EAttribute getPostgresServiceConfiguration_State();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.dcae.controller.service.storage.postgres.service.PostgresServiceConfiguration#getDatabases <em>Databases</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Databases</em>'.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.PostgresServiceConfiguration#getDatabases()
+ * @see #getPostgresServiceConfiguration()
+ * @generated
+ */
+ EReference getPostgresServiceConfiguration_Databases();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.dcae.controller.service.storage.postgres.service.Database <em>Database</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Database</em>'.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.Database
+ * @generated
+ */
+ EClass getDatabase();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.dcae.controller.service.storage.postgres.service.Database#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.Database#getDescription()
+ * @see #getDatabase()
+ * @generated
+ */
+ EAttribute getDatabase_Description();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.dcae.controller.service.storage.postgres.service.Database#getContacts <em>Contacts</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Contacts</em>'.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.Database#getContacts()
+ * @see #getDatabase()
+ * @generated
+ */
+ EReference getDatabase_Contacts();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.dcae.controller.service.storage.postgres.service.Database#getOwnerRole <em>Owner Role</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Owner Role</em>'.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.Database#getOwnerRole()
+ * @see #getDatabase()
+ * @generated
+ */
+ EAttribute getDatabase_OwnerRole();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.openecomp.dcae.controller.service.storage.postgres.service.Database#getRoles <em>Roles</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Roles</em>'.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.Database#getRoles()
+ * @see #getDatabase()
+ * @generated
+ */
+ EReference getDatabase_Roles();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.dcae.controller.service.storage.postgres.service.Contact <em>Contact</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Contact</em>'.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.Contact
+ * @generated
+ */
+ EClass getContact();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.dcae.controller.service.storage.postgres.service.Contact#getFullName <em>Full Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Full Name</em>'.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.Contact#getFullName()
+ * @see #getContact()
+ * @generated
+ */
+ EAttribute getContact_FullName();
+
+ /**
+ * Returns the meta object for class '{@link org.openecomp.dcae.controller.service.storage.postgres.service.Role <em>Role</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Role</em>'.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.Role
+ * @generated
+ */
+ EClass getRole();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.dcae.controller.service.storage.postgres.service.Role#getPassword <em>Password</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Password</em>'.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.Role#getPassword()
+ * @see #getRole()
+ * @generated
+ */
+ EAttribute getRole_Password();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.dcae.controller.service.storage.postgres.service.Role#getRole <em>Role</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Role</em>'.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.Role#getRole()
+ * @see #getRole()
+ * @generated
+ */
+ EAttribute getRole_Role();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.openecomp.dcae.controller.service.storage.postgres.service.Role#getRoleComments <em>Role Comments</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Role Comments</em>'.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.Role#getRoleComments()
+ * @see #getRole()
+ * @generated
+ */
+ EAttribute getRole_RoleComments();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.openecomp.dcae.controller.service.storage.postgres.service.Role#getFullName <em>Full Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Full Name</em>'.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.Role#getFullName()
+ * @see #getRole()
+ * @generated
+ */
+ EAttribute getRole_FullName();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ ServiceFactory getServiceFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.impl.PostgresServiceConfigurationImpl <em>Postgres Service Configuration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.impl.PostgresServiceConfigurationImpl
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.impl.ServicePackageImpl#getPostgresServiceConfiguration()
+ * @generated
+ */
+ EClass POSTGRES_SERVICE_CONFIGURATION = eINSTANCE.getPostgresServiceConfiguration();
+
+ /**
+ * The meta object literal for the '<em><b>State</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute POSTGRES_SERVICE_CONFIGURATION__STATE = eINSTANCE.getPostgresServiceConfiguration_State();
+
+ /**
+ * The meta object literal for the '<em><b>Databases</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference POSTGRES_SERVICE_CONFIGURATION__DATABASES = eINSTANCE.getPostgresServiceConfiguration_Databases();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.impl.DatabaseImpl <em>Database</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.impl.DatabaseImpl
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.impl.ServicePackageImpl#getDatabase()
+ * @generated
+ */
+ EClass DATABASE = eINSTANCE.getDatabase();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DATABASE__DESCRIPTION = eINSTANCE.getDatabase_Description();
+
+ /**
+ * The meta object literal for the '<em><b>Contacts</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DATABASE__CONTACTS = eINSTANCE.getDatabase_Contacts();
+
+ /**
+ * The meta object literal for the '<em><b>Owner Role</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DATABASE__OWNER_ROLE = eINSTANCE.getDatabase_OwnerRole();
+
+ /**
+ * The meta object literal for the '<em><b>Roles</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DATABASE__ROLES = eINSTANCE.getDatabase_Roles();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.impl.ContactImpl <em>Contact</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.impl.ContactImpl
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.impl.ServicePackageImpl#getContact()
+ * @generated
+ */
+ EClass CONTACT = eINSTANCE.getContact();
+
+ /**
+ * The meta object literal for the '<em><b>Full Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CONTACT__FULL_NAME = eINSTANCE.getContact_FullName();
+
+ /**
+ * The meta object literal for the '{@link org.openecomp.dcae.controller.service.storage.postgres.service.impl.RoleImpl <em>Role</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.impl.RoleImpl
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.impl.ServicePackageImpl#getRole()
+ * @generated
+ */
+ EClass ROLE = eINSTANCE.getRole();
+
+ /**
+ * The meta object literal for the '<em><b>Password</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ROLE__PASSWORD = eINSTANCE.getRole_Password();
+
+ /**
+ * The meta object literal for the '<em><b>Role</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ROLE__ROLE = eINSTANCE.getRole_Role();
+
+ /**
+ * The meta object literal for the '<em><b>Role Comments</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ROLE__ROLE_COMMENTS = eINSTANCE.getRole_RoleComments();
+
+ /**
+ * The meta object literal for the '<em><b>Full Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ROLE__FULL_NAME = eINSTANCE.getRole_FullName();
+
+ }
+
+} //ServicePackage
diff --git a/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/ContactImpl.java b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/ContactImpl.java
new file mode 100644
index 0000000..db28b0a
--- /dev/null
+++ b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/ContactImpl.java
@@ -0,0 +1,185 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.dcae.controller.service.storage.postgres.service.impl;
+
+import org.openecomp.dcae.controller.service.storage.postgres.service.Contact;
+import org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage;
+
+import org.openecomp.ncomp.core.impl.NamedEntityImpl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Contact</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.impl.ContactImpl#getFullName <em>Full Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ContactImpl extends NamedEntityImpl implements Contact {
+ /**
+ * The default value of the '{@link #getFullName() <em>Full Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFullName()
+ * @generated
+ * @ordered
+ */
+ protected static final String FULL_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFullName() <em>Full Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFullName()
+ * @generated
+ * @ordered
+ */
+ protected String fullName = FULL_NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ContactImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ServicePackage.Literals.CONTACT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFullName() {
+ return fullName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFullName(String newFullName) {
+ String oldFullName = fullName;
+ fullName = newFullName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ServicePackage.CONTACT__FULL_NAME, oldFullName, fullName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ServicePackage.CONTACT__FULL_NAME:
+ return getFullName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ServicePackage.CONTACT__FULL_NAME:
+ setFullName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ServicePackage.CONTACT__FULL_NAME:
+ setFullName(FULL_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ServicePackage.CONTACT__FULL_NAME:
+ return FULL_NAME_EDEFAULT == null ? fullName != null : !FULL_NAME_EDEFAULT.equals(fullName);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (fullName: ");
+ result.append(fullName);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ContactImpl
diff --git a/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/DatabaseImpl.java b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/DatabaseImpl.java
new file mode 100644
index 0000000..7efcf15
--- /dev/null
+++ b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/DatabaseImpl.java
@@ -0,0 +1,335 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.dcae.controller.service.storage.postgres.service.impl;
+
+import org.openecomp.dcae.controller.service.storage.postgres.service.Contact;
+import org.openecomp.dcae.controller.service.storage.postgres.service.Database;
+import org.openecomp.dcae.controller.service.storage.postgres.service.Role;
+import org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage;
+
+import org.openecomp.ncomp.core.impl.NamedEntityImpl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Database</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.impl.DatabaseImpl#getDescription <em>Description</em>}</li>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.impl.DatabaseImpl#getContacts <em>Contacts</em>}</li>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.impl.DatabaseImpl#getOwnerRole <em>Owner Role</em>}</li>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.impl.DatabaseImpl#getRoles <em>Roles</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DatabaseImpl extends NamedEntityImpl implements Database {
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getContacts() <em>Contacts</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContacts()
+ * @generated
+ * @ordered
+ */
+ protected EList<Contact> contacts;
+
+ /**
+ * The default value of the '{@link #getOwnerRole() <em>Owner Role</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnerRole()
+ * @generated
+ * @ordered
+ */
+ protected static final String OWNER_ROLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOwnerRole() <em>Owner Role</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnerRole()
+ * @generated
+ * @ordered
+ */
+ protected String ownerRole = OWNER_ROLE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getRoles() <em>Roles</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRoles()
+ * @generated
+ * @ordered
+ */
+ protected EList<Role> roles;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DatabaseImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ServicePackage.Literals.DATABASE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDescription(String newDescription) {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ServicePackage.DATABASE__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Contact> getContacts() {
+ if (contacts == null) {
+ contacts = new EObjectContainmentEList<Contact>(Contact.class, this, ServicePackage.DATABASE__CONTACTS);
+ }
+ return contacts;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOwnerRole() {
+ return ownerRole;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwnerRole(String newOwnerRole) {
+ String oldOwnerRole = ownerRole;
+ ownerRole = newOwnerRole;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ServicePackage.DATABASE__OWNER_ROLE, oldOwnerRole, ownerRole));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Role> getRoles() {
+ if (roles == null) {
+ roles = new EObjectContainmentEList<Role>(Role.class, this, ServicePackage.DATABASE__ROLES);
+ }
+ return roles;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ServicePackage.DATABASE__CONTACTS:
+ return ((InternalEList<?>)getContacts()).basicRemove(otherEnd, msgs);
+ case ServicePackage.DATABASE__ROLES:
+ return ((InternalEList<?>)getRoles()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ServicePackage.DATABASE__DESCRIPTION:
+ return getDescription();
+ case ServicePackage.DATABASE__CONTACTS:
+ return getContacts();
+ case ServicePackage.DATABASE__OWNER_ROLE:
+ return getOwnerRole();
+ case ServicePackage.DATABASE__ROLES:
+ return getRoles();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ServicePackage.DATABASE__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case ServicePackage.DATABASE__CONTACTS:
+ getContacts().clear();
+ getContacts().addAll((Collection<? extends Contact>)newValue);
+ return;
+ case ServicePackage.DATABASE__OWNER_ROLE:
+ setOwnerRole((String)newValue);
+ return;
+ case ServicePackage.DATABASE__ROLES:
+ getRoles().clear();
+ getRoles().addAll((Collection<? extends Role>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ServicePackage.DATABASE__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case ServicePackage.DATABASE__CONTACTS:
+ getContacts().clear();
+ return;
+ case ServicePackage.DATABASE__OWNER_ROLE:
+ setOwnerRole(OWNER_ROLE_EDEFAULT);
+ return;
+ case ServicePackage.DATABASE__ROLES:
+ getRoles().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ServicePackage.DATABASE__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case ServicePackage.DATABASE__CONTACTS:
+ return contacts != null && !contacts.isEmpty();
+ case ServicePackage.DATABASE__OWNER_ROLE:
+ return OWNER_ROLE_EDEFAULT == null ? ownerRole != null : !OWNER_ROLE_EDEFAULT.equals(ownerRole);
+ case ServicePackage.DATABASE__ROLES:
+ return roles != null && !roles.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (description: ");
+ result.append(description);
+ result.append(", ownerRole: ");
+ result.append(ownerRole);
+ result.append(')');
+ return result.toString();
+ }
+
+} //DatabaseImpl
diff --git a/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/PostgresServiceConfigurationImpl.java b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/PostgresServiceConfigurationImpl.java
new file mode 100644
index 0000000..7b8c7a6
--- /dev/null
+++ b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/PostgresServiceConfigurationImpl.java
@@ -0,0 +1,237 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.dcae.controller.service.storage.postgres.service.impl;
+
+import org.openecomp.dcae.controller.service.common.vm.service.impl.CommonVmServiceConfigurationImpl;
+import org.openecomp.dcae.controller.service.storage.postgres.service.Database;
+import org.openecomp.dcae.controller.service.storage.postgres.service.PostgresServiceConfiguration;
+import org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage;
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Postgres Service Configuration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.impl.PostgresServiceConfigurationImpl#getState <em>State</em>}</li>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.impl.PostgresServiceConfigurationImpl#getDatabases <em>Databases</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PostgresServiceConfigurationImpl extends CommonVmServiceConfigurationImpl implements PostgresServiceConfiguration {
+ /**
+ * The default value of the '{@link #getState() <em>State</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getState()
+ * @generated
+ * @ordered
+ */
+ protected static final String STATE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getState() <em>State</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getState()
+ * @generated
+ * @ordered
+ */
+ protected String state = STATE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getDatabases() <em>Databases</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDatabases()
+ * @generated
+ * @ordered
+ */
+ protected EList<Database> databases;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PostgresServiceConfigurationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ServicePackage.Literals.POSTGRES_SERVICE_CONFIGURATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getState() {
+ return state;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setState(String newState) {
+ String oldState = state;
+ state = newState;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ServicePackage.POSTGRES_SERVICE_CONFIGURATION__STATE, oldState, state));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Database> getDatabases() {
+ if (databases == null) {
+ databases = new EObjectContainmentEList<Database>(Database.class, this, ServicePackage.POSTGRES_SERVICE_CONFIGURATION__DATABASES);
+ }
+ return databases;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case ServicePackage.POSTGRES_SERVICE_CONFIGURATION__DATABASES:
+ return ((InternalEList<?>)getDatabases()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ServicePackage.POSTGRES_SERVICE_CONFIGURATION__STATE:
+ return getState();
+ case ServicePackage.POSTGRES_SERVICE_CONFIGURATION__DATABASES:
+ return getDatabases();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ServicePackage.POSTGRES_SERVICE_CONFIGURATION__STATE:
+ setState((String)newValue);
+ return;
+ case ServicePackage.POSTGRES_SERVICE_CONFIGURATION__DATABASES:
+ getDatabases().clear();
+ getDatabases().addAll((Collection<? extends Database>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ServicePackage.POSTGRES_SERVICE_CONFIGURATION__STATE:
+ setState(STATE_EDEFAULT);
+ return;
+ case ServicePackage.POSTGRES_SERVICE_CONFIGURATION__DATABASES:
+ getDatabases().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ServicePackage.POSTGRES_SERVICE_CONFIGURATION__STATE:
+ return STATE_EDEFAULT == null ? state != null : !STATE_EDEFAULT.equals(state);
+ case ServicePackage.POSTGRES_SERVICE_CONFIGURATION__DATABASES:
+ return databases != null && !databases.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (state: ");
+ result.append(state);
+ result.append(')');
+ return result.toString();
+ }
+
+} //PostgresServiceConfigurationImpl
diff --git a/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/RoleImpl.java b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/RoleImpl.java
new file mode 100644
index 0000000..3735485
--- /dev/null
+++ b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/RoleImpl.java
@@ -0,0 +1,333 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.dcae.controller.service.storage.postgres.service.impl;
+
+import org.openecomp.dcae.controller.service.storage.postgres.service.Role;
+import org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage;
+
+import org.openecomp.ncomp.core.impl.NamedEntityImpl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Role</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.impl.RoleImpl#getPassword <em>Password</em>}</li>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.impl.RoleImpl#getRole <em>Role</em>}</li>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.impl.RoleImpl#getRoleComments <em>Role Comments</em>}</li>
+ * <li>{@link org.openecomp.dcae.controller.service.storage.postgres.service.impl.RoleImpl#getFullName <em>Full Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RoleImpl extends NamedEntityImpl implements Role {
+ /**
+ * The default value of the '{@link #getPassword() <em>Password</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPassword()
+ * @generated
+ * @ordered
+ */
+ protected static final String PASSWORD_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPassword() <em>Password</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPassword()
+ * @generated
+ * @ordered
+ */
+ protected String password = PASSWORD_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getRole() <em>Role</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRole()
+ * @generated
+ * @ordered
+ */
+ protected static final String ROLE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getRole() <em>Role</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRole()
+ * @generated
+ * @ordered
+ */
+ protected String role = ROLE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getRoleComments() <em>Role Comments</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRoleComments()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> roleComments;
+
+ /**
+ * The default value of the '{@link #getFullName() <em>Full Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFullName()
+ * @generated
+ * @ordered
+ */
+ protected static final String FULL_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFullName() <em>Full Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFullName()
+ * @generated
+ * @ordered
+ */
+ protected String fullName = FULL_NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RoleImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ServicePackage.Literals.ROLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPassword() {
+ return password;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPassword(String newPassword) {
+ String oldPassword = password;
+ password = newPassword;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ServicePackage.ROLE__PASSWORD, oldPassword, password));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getRole() {
+ return role;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRole(String newRole) {
+ String oldRole = role;
+ role = newRole;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ServicePackage.ROLE__ROLE, oldRole, role));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getRoleComments() {
+ if (roleComments == null) {
+ roleComments = new EDataTypeEList<String>(String.class, this, ServicePackage.ROLE__ROLE_COMMENTS);
+ }
+ return roleComments;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFullName() {
+ return fullName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFullName(String newFullName) {
+ String oldFullName = fullName;
+ fullName = newFullName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ServicePackage.ROLE__FULL_NAME, oldFullName, fullName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ServicePackage.ROLE__PASSWORD:
+ return getPassword();
+ case ServicePackage.ROLE__ROLE:
+ return getRole();
+ case ServicePackage.ROLE__ROLE_COMMENTS:
+ return getRoleComments();
+ case ServicePackage.ROLE__FULL_NAME:
+ return getFullName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ServicePackage.ROLE__PASSWORD:
+ setPassword((String)newValue);
+ return;
+ case ServicePackage.ROLE__ROLE:
+ setRole((String)newValue);
+ return;
+ case ServicePackage.ROLE__ROLE_COMMENTS:
+ getRoleComments().clear();
+ getRoleComments().addAll((Collection<? extends String>)newValue);
+ return;
+ case ServicePackage.ROLE__FULL_NAME:
+ setFullName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ServicePackage.ROLE__PASSWORD:
+ setPassword(PASSWORD_EDEFAULT);
+ return;
+ case ServicePackage.ROLE__ROLE:
+ setRole(ROLE_EDEFAULT);
+ return;
+ case ServicePackage.ROLE__ROLE_COMMENTS:
+ getRoleComments().clear();
+ return;
+ case ServicePackage.ROLE__FULL_NAME:
+ setFullName(FULL_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ServicePackage.ROLE__PASSWORD:
+ return PASSWORD_EDEFAULT == null ? password != null : !PASSWORD_EDEFAULT.equals(password);
+ case ServicePackage.ROLE__ROLE:
+ return ROLE_EDEFAULT == null ? role != null : !ROLE_EDEFAULT.equals(role);
+ case ServicePackage.ROLE__ROLE_COMMENTS:
+ return roleComments != null && !roleComments.isEmpty();
+ case ServicePackage.ROLE__FULL_NAME:
+ return FULL_NAME_EDEFAULT == null ? fullName != null : !FULL_NAME_EDEFAULT.equals(fullName);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (password: ");
+ result.append(password);
+ result.append(", role: ");
+ result.append(role);
+ result.append(", roleComments: ");
+ result.append(roleComments);
+ result.append(", fullName: ");
+ result.append(fullName);
+ result.append(')');
+ return result.toString();
+ }
+
+} //RoleImpl
diff --git a/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/ServiceFactoryImpl.java b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/ServiceFactoryImpl.java
new file mode 100644
index 0000000..14758df
--- /dev/null
+++ b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/ServiceFactoryImpl.java
@@ -0,0 +1,149 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.dcae.controller.service.storage.postgres.service.impl;
+
+import org.openecomp.dcae.controller.service.storage.postgres.service.*;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ServiceFactoryImpl extends EFactoryImpl implements ServiceFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ServiceFactory init() {
+ try {
+ ServiceFactory theServiceFactory = (ServiceFactory)EPackage.Registry.INSTANCE.getEFactory(ServicePackage.eNS_URI);
+ if (theServiceFactory != null) {
+ return theServiceFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new ServiceFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ServiceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case ServicePackage.POSTGRES_SERVICE_CONFIGURATION: return createPostgresServiceConfiguration();
+ case ServicePackage.DATABASE: return createDatabase();
+ case ServicePackage.CONTACT: return createContact();
+ case ServicePackage.ROLE: return createRole();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PostgresServiceConfiguration createPostgresServiceConfiguration() {
+ PostgresServiceConfigurationImpl postgresServiceConfiguration = new PostgresServiceConfigurationImpl();
+ return postgresServiceConfiguration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Database createDatabase() {
+ DatabaseImpl database = new DatabaseImpl();
+ return database;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Contact createContact() {
+ ContactImpl contact = new ContactImpl();
+ return contact;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Role createRole() {
+ RoleImpl role = new RoleImpl();
+ return role;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ServicePackage getServicePackage() {
+ return (ServicePackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static ServicePackage getPackage() {
+ return ServicePackage.eINSTANCE;
+ }
+
+} //ServiceFactoryImpl
diff --git a/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/ServicePackageImpl.java b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/ServicePackageImpl.java
new file mode 100644
index 0000000..69b1eb1
--- /dev/null
+++ b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/impl/ServicePackageImpl.java
@@ -0,0 +1,420 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.dcae.controller.service.storage.postgres.service.impl;
+
+import org.openecomp.dcae.controller.service.storage.postgres.service.Contact;
+import org.openecomp.dcae.controller.service.storage.postgres.service.Database;
+import org.openecomp.dcae.controller.service.storage.postgres.service.PostgresServiceConfiguration;
+import org.openecomp.dcae.controller.service.storage.postgres.service.Role;
+import org.openecomp.dcae.controller.service.storage.postgres.service.ServiceFactory;
+import org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage;
+import org.openecomp.ncomp.core.CorePackage;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ServicePackageImpl extends EPackageImpl implements ServicePackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass postgresServiceConfigurationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass databaseEClass = null;
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass contactEClass = null;
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass roleEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ServicePackageImpl() {
+ super(eNS_URI, ServiceFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link ServicePackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static ServicePackage init() {
+ if (isInited) return (ServicePackage)EPackage.Registry.INSTANCE.getEPackage(ServicePackage.eNS_URI);
+
+ // Obtain or create and register package
+ ServicePackageImpl theServicePackage = (ServicePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ServicePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new ServicePackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ org.openecomp.dcae.controller.service.common.vm.service.ServicePackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theServicePackage.createPackageContents();
+
+ // Initialize created meta-data
+ theServicePackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theServicePackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(ServicePackage.eNS_URI, theServicePackage);
+ return theServicePackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPostgresServiceConfiguration() {
+ return postgresServiceConfigurationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPostgresServiceConfiguration_State() {
+ return (EAttribute)postgresServiceConfigurationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPostgresServiceConfiguration_Databases() {
+ return (EReference)postgresServiceConfigurationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDatabase() {
+ return databaseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDatabase_Description() {
+ return (EAttribute)databaseEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDatabase_Contacts() {
+ return (EReference)databaseEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDatabase_OwnerRole() {
+ return (EAttribute)databaseEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDatabase_Roles() {
+ return (EReference)databaseEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getContact() {
+ return contactEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getContact_FullName() {
+ return (EAttribute)contactEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRole() {
+ return roleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRole_Password() {
+ return (EAttribute)roleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRole_Role() {
+ return (EAttribute)roleEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRole_RoleComments() {
+ return (EAttribute)roleEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRole_FullName() {
+ return (EAttribute)roleEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ServiceFactory getServiceFactory() {
+ return (ServiceFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ postgresServiceConfigurationEClass = createEClass(POSTGRES_SERVICE_CONFIGURATION);
+ createEAttribute(postgresServiceConfigurationEClass, POSTGRES_SERVICE_CONFIGURATION__STATE);
+ createEReference(postgresServiceConfigurationEClass, POSTGRES_SERVICE_CONFIGURATION__DATABASES);
+
+ databaseEClass = createEClass(DATABASE);
+ createEAttribute(databaseEClass, DATABASE__DESCRIPTION);
+ createEReference(databaseEClass, DATABASE__CONTACTS);
+ createEAttribute(databaseEClass, DATABASE__OWNER_ROLE);
+ createEReference(databaseEClass, DATABASE__ROLES);
+
+ contactEClass = createEClass(CONTACT);
+ createEAttribute(contactEClass, CONTACT__FULL_NAME);
+
+ roleEClass = createEClass(ROLE);
+ createEAttribute(roleEClass, ROLE__PASSWORD);
+ createEAttribute(roleEClass, ROLE__ROLE);
+ createEAttribute(roleEClass, ROLE__ROLE_COMMENTS);
+ createEAttribute(roleEClass, ROLE__FULL_NAME);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ org.openecomp.dcae.controller.service.common.vm.service.ServicePackage theServicePackage_1 = (org.openecomp.dcae.controller.service.common.vm.service.ServicePackage)EPackage.Registry.INSTANCE.getEPackage(org.openecomp.dcae.controller.service.common.vm.service.ServicePackage.eNS_URI);
+ EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
+ CorePackage theCorePackage = (CorePackage)EPackage.Registry.INSTANCE.getEPackage(CorePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ postgresServiceConfigurationEClass.getESuperTypes().add(theServicePackage_1.getCommonVmServiceConfiguration());
+ databaseEClass.getESuperTypes().add(theCorePackage.getNamedEntity());
+ contactEClass.getESuperTypes().add(theCorePackage.getNamedEntity());
+ roleEClass.getESuperTypes().add(theCorePackage.getNamedEntity());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(postgresServiceConfigurationEClass, PostgresServiceConfiguration.class, "PostgresServiceConfiguration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPostgresServiceConfiguration_State(), theEcorePackage.getEString(), "state", null, 0, 1, PostgresServiceConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPostgresServiceConfiguration_Databases(), this.getDatabase(), null, "databases", null, 0, -1, PostgresServiceConfiguration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(databaseEClass, Database.class, "Database", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getDatabase_Description(), theEcorePackage.getEString(), "description", null, 0, 1, Database.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDatabase_Contacts(), this.getContact(), null, "contacts", null, 0, -1, Database.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDatabase_OwnerRole(), theEcorePackage.getEString(), "ownerRole", null, 0, 1, Database.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDatabase_Roles(), this.getRole(), null, "roles", null, 0, -1, Database.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(contactEClass, Contact.class, "Contact", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getContact_FullName(), theEcorePackage.getEString(), "fullName", null, 0, 1, Contact.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(roleEClass, Role.class, "Role", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRole_Password(), theEcorePackage.getEString(), "password", null, 0, 1, Role.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRole_Role(), theEcorePackage.getEString(), "role", null, 0, 1, Role.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRole_RoleComments(), theEcorePackage.getEString(), "roleComments", null, 0, -1, Role.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRole_FullName(), theEcorePackage.getEString(), "fullName", null, 0, 1, Role.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+
+ // Create annotations
+ // http://www.eclipse.org/emf/2011/Xcore
+ createXcoreAnnotations();
+ // http://openecomp.org
+ createEcompAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/emf/2011/Xcore</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createXcoreAnnotations() {
+ String source = "http://www.eclipse.org/emf/2011/Xcore";
+ addAnnotation
+ (this,
+ source,
+ new String[] {
+ "ecomp", "http://openecomp.org"
+ });
+ }
+
+ /**
+ * Initializes the annotations for <b>http://openecomp.org</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createEcompAnnotations() {
+ String source = "http://openecomp.org";
+ addAnnotation
+ (getPostgresServiceConfiguration_State(),
+ source,
+ new String[] {
+ "type", "configuration"
+ });
+ }
+
+} //ServicePackageImpl
diff --git a/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/util/ServiceAdapterFactory.java b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/util/ServiceAdapterFactory.java
new file mode 100644
index 0000000..2dde68d
--- /dev/null
+++ b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/util/ServiceAdapterFactory.java
@@ -0,0 +1,230 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.dcae.controller.service.storage.postgres.service.util;
+
+import org.openecomp.dcae.controller.service.common.vm.service.CommonVmServiceConfiguration;
+import org.openecomp.dcae.controller.service.storage.postgres.service.*;
+import org.openecomp.ncomp.core.NamedEntity;
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage
+ * @generated
+ */
+public class ServiceAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ServicePackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ServiceAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = ServicePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ServiceSwitch<Adapter> modelSwitch =
+ new ServiceSwitch<Adapter>() {
+ @Override
+ public Adapter casePostgresServiceConfiguration(PostgresServiceConfiguration object) {
+ return createPostgresServiceConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseDatabase(Database object) {
+ return createDatabaseAdapter();
+ }
+ @Override
+ public Adapter caseContact(Contact object) {
+ return createContactAdapter();
+ }
+ @Override
+ public Adapter caseRole(Role object) {
+ return createRoleAdapter();
+ }
+ @Override
+ public Adapter caseCommonVmServiceConfiguration(CommonVmServiceConfiguration object) {
+ return createCommonVmServiceConfigurationAdapter();
+ }
+ @Override
+ public Adapter caseNamedEntity(NamedEntity object) {
+ return createNamedEntityAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.dcae.controller.service.storage.postgres.service.PostgresServiceConfiguration <em>Postgres Service Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.PostgresServiceConfiguration
+ * @generated
+ */
+ public Adapter createPostgresServiceConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.dcae.controller.service.storage.postgres.service.Database <em>Database</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.Database
+ * @generated
+ */
+ public Adapter createDatabaseAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.dcae.controller.service.storage.postgres.service.Contact <em>Contact</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.Contact
+ * @generated
+ */
+ public Adapter createContactAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.dcae.controller.service.storage.postgres.service.Role <em>Role</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.Role
+ * @generated
+ */
+ public Adapter createRoleAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.dcae.controller.service.common.vm.service.CommonVmServiceConfiguration <em>Common Vm Service Configuration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.dcae.controller.service.common.vm.service.CommonVmServiceConfiguration
+ * @generated
+ */
+ public Adapter createCommonVmServiceConfigurationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.openecomp.ncomp.core.NamedEntity <em>Named Entity</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.openecomp.ncomp.core.NamedEntity
+ * @generated
+ */
+ public Adapter createNamedEntityAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //ServiceAdapterFactory
diff --git a/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/util/ServiceSwitch.java b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/util/ServiceSwitch.java
new file mode 100644
index 0000000..f862061
--- /dev/null
+++ b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore-gen/org/openecomp/dcae/controller/service/storage/postgres/service/util/ServiceSwitch.java
@@ -0,0 +1,228 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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.dcae.controller.service.storage.postgres.service.util;
+
+import org.openecomp.dcae.controller.service.common.vm.service.CommonVmServiceConfiguration;
+import org.openecomp.dcae.controller.service.storage.postgres.service.*;
+import org.openecomp.ncomp.core.NamedEntity;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.openecomp.dcae.controller.service.storage.postgres.service.ServicePackage
+ * @generated
+ */
+public class ServiceSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ServicePackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ServiceSwitch() {
+ if (modelPackage == null) {
+ modelPackage = ServicePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case ServicePackage.POSTGRES_SERVICE_CONFIGURATION: {
+ PostgresServiceConfiguration postgresServiceConfiguration = (PostgresServiceConfiguration)theEObject;
+ T result = casePostgresServiceConfiguration(postgresServiceConfiguration);
+ if (result == null) result = caseCommonVmServiceConfiguration(postgresServiceConfiguration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ServicePackage.DATABASE: {
+ Database database = (Database)theEObject;
+ T result = caseDatabase(database);
+ if (result == null) result = caseNamedEntity(database);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ServicePackage.CONTACT: {
+ Contact contact = (Contact)theEObject;
+ T result = caseContact(contact);
+ if (result == null) result = caseNamedEntity(contact);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ServicePackage.ROLE: {
+ Role role = (Role)theEObject;
+ T result = caseRole(role);
+ if (result == null) result = caseNamedEntity(role);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Postgres Service Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Postgres Service Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePostgresServiceConfiguration(PostgresServiceConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Database</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Database</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDatabase(Database object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Contact</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Contact</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContact(Contact object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Role</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Role</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRole(Role object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Common Vm Service Configuration</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Common Vm Service Configuration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCommonVmServiceConfiguration(CommonVmServiceConfiguration object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Named Entity</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Named Entity</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNamedEntity(NamedEntity object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //ServiceSwitch
diff --git a/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore/service.xcore b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore/service.xcore
new file mode 100644
index 0000000..d917284
--- /dev/null
+++ b/dcae-controller-service/dcae-controller-service-storage-postgres-model/src/main/xcore/service.xcore
@@ -0,0 +1,58 @@
+
+/*-
+ * ============LICENSE_START==========================================
+ * OPENECOMP - DCAE
+ * ===================================================================
+ * 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============================================
+ */
+
+@GenModel(modelDirectory="/dcae-controller-service-storage-postgres-model/src/main/xcore-gen")
+
+
+package org.openecomp.dcae.controller.service.storage.postgres.service
+
+import org.openecomp.dcae.controller.service.common.vm.service.CommonVmServiceConfiguration
+import org.openecomp.ncomp.core.NamedEntity
+
+annotation "http://openecomp.org" as ecomp
+
+// state in both controller and manager
+class PostgresServiceConfiguration extends CommonVmServiceConfiguration {
+ @ecomp(^type = "configuration")
+ String state
+ contains Database[] databases
+}
+
+class Database extends NamedEntity {
+ String description
+ contains Contact[] contacts
+ String ownerRole
+ contains Role[] roles
+}
+
+class Contact extends NamedEntity {
+ String fullName
+}
+
+class Role extends NamedEntity {
+ String password
+ String role
+ String[] roleComments
+ String fullName
+}
+
+
+