summaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/ng2/pages
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-ui/src/app/ng2/pages')
-rw-r--r--catalog-ui/src/app/ng2/pages/service-dependencies-editor/service-dependencies-editor.component.html19
-rw-r--r--catalog-ui/src/app/ng2/pages/service-dependencies-editor/service-dependencies-editor.component.less6
-rw-r--r--catalog-ui/src/app/ng2/pages/service-dependencies-editor/service-dependencies-editor.component.ts47
-rw-r--r--catalog-ui/src/app/ng2/pages/service-dependencies-editor/service-dependencies-editor.module.ts4
4 files changed, 61 insertions, 15 deletions
diff --git a/catalog-ui/src/app/ng2/pages/service-dependencies-editor/service-dependencies-editor.component.html b/catalog-ui/src/app/ng2/pages/service-dependencies-editor/service-dependencies-editor.component.html
index 4b23568a06..f84214e4ce 100644
--- a/catalog-ui/src/app/ng2/pages/service-dependencies-editor/service-dependencies-editor.component.html
+++ b/catalog-ui/src/app/ng2/pages/service-dependencies-editor/service-dependencies-editor.component.html
@@ -24,18 +24,29 @@
<label class="i-sdc-form-label required" >Source</label>
<ui-element-dropdown class="i-sdc-form-select" data-tests-id="sourceType" [values]="sourceTypes" [(value)]="currentRule.sourceName" (change)="onSelectSourceType($event)"></ui-element-dropdown>
</div>
-
- <div class="rule-input-field assigned-value-field">
+ <div [ngClass]="isComplexListMapType() && isStaticSource() ? 'complex-input-field' : ''"
+ class="rule-input-field assigned-value-field">
<label class="i-sdc-form-label required" >{{assignedValueLabel}}</label>
+ <dynamic-property
+ *ngIf="isStaticSource() && isComplexListMapType()"
+ [selectedPropertyId]="selectedPropertyObj.uniqueId"
+ [property]="selectedPropertyObj"
+ [expandedChildId]="selectedPropertyObj.expandedChildPropertyId ?
+ selectedPropertyObj.expandedChildPropertyId : selectedPropertyObj.name"
+ [canBeDeclared]="true"
+ (propertyChanged)="updateComplexListMapTypeRuleValue()"
+ [rootProperty]="selectedPropertyObj"
+ (expandChild)="selectedPropertyObj.updateExpandedChildPropertyId($event)">
+ </dynamic-property>
<dynamic-element
- *ngIf="currentRule.sourceType === SOURCE_TYPES.STATIC.value"
+ *ngIf="isStaticSource() && !isComplexListMapType()"
[(value)]="currentRule.value"
class="rule-assigned-value"
data-tests-id="ruleAssignedValue"
(elementChanged)="onValueChange($event.isValid)"
[type]="selectedPropertyObj ? selectedPropertyObj.type : 'string'">
</dynamic-element>
- <ui-element-dropdown *ngIf="currentRule.sourceType !== SOURCE_TYPES.STATIC.value"
+ <ui-element-dropdown *ngIf="!isStaticSource()"
class="rule-assigned-value"
data-tests-id="ruleAssignedValue"
[(value)]="currentRule.value"
diff --git a/catalog-ui/src/app/ng2/pages/service-dependencies-editor/service-dependencies-editor.component.less b/catalog-ui/src/app/ng2/pages/service-dependencies-editor/service-dependencies-editor.component.less
index e03b73c8c0..b475ed2847 100644
--- a/catalog-ui/src/app/ng2/pages/service-dependencies-editor/service-dependencies-editor.component.less
+++ b/catalog-ui/src/app/ng2/pages/service-dependencies-editor/service-dependencies-editor.component.less
@@ -21,6 +21,7 @@
.rule-builder-content {
display: flex;
align-items: flex-end;
+ flex-wrap: wrap;
.rule-input-field {
flex: 1;
&:not(:last-of-type) {
@@ -38,6 +39,9 @@
height: 30px;
}
}
-
+ .complex-input-field {
+ flex-basis: 100%;
+ display: block;
+ }
}
} \ No newline at end of file
diff --git a/catalog-ui/src/app/ng2/pages/service-dependencies-editor/service-dependencies-editor.component.ts b/catalog-ui/src/app/ng2/pages/service-dependencies-editor/service-dependencies-editor.component.ts
index 084ab32b5c..cb3e87c8d1 100644
--- a/catalog-ui/src/app/ng2/pages/service-dependencies-editor/service-dependencies-editor.component.ts
+++ b/catalog-ui/src/app/ng2/pages/service-dependencies-editor/service-dependencies-editor.component.ts
@@ -14,7 +14,7 @@
* permissions and limitations under the License.
*/
import {Component} from '@angular/core';
-import {InputBEModel, PropertyBEModel} from 'app/models';
+import {InputBEModel, PropertyBEModel, PropertyFEModel} from 'app/models';
import {
ConstraintObjectUI,
OPERATOR_TYPES
@@ -23,6 +23,7 @@ import {DropdownValue} from 'app/ng2/components/ui/form-components/dropdown/ui-e
import {ServiceServiceNg2} from 'app/ng2/services/component-services/service.service';
import {PROPERTY_DATA} from 'app/utils';
import {ServiceInstanceObject} from '../../../models/service-instance-properties-and-interfaces';
+import { PropertiesUtils } from '../properties-assignment/services/properties.utils';
export class UIDropDownSourceTypesElement extends DropdownValue {
options: any[];
@@ -61,7 +62,7 @@ export class ServiceDependenciesEditorComponent {
};
currentServiceName: string;
selectedServiceProperties: PropertyBEModel[];
- selectedPropertyObj: PropertyBEModel;
+ selectedPropertyObj: PropertyFEModel;
ddValueSelectedServicePropertiesNames: DropdownValue[];
operatorTypes: DropdownValue[];
sourceTypes: UIDropDownSourceTypesElement[] = [];
@@ -77,6 +78,8 @@ export class ServiceDependenciesEditorComponent {
SERVICE_PROPERTY: {label: 'Service Property', value: 'property'}
};
+ constructor(private propertiesUtils: PropertiesUtils) {}
+
ngOnInit() {
this.currentIndex = this.input.serviceRuleIndex;
this.serviceRulesList = this.input.serviceRules;
@@ -124,10 +127,11 @@ export class ServiceDependenciesEditorComponent {
}
syncRuleData() {
- if (!this.currentRule.sourceName && this.currentRule.sourceType === this.SOURCE_TYPES.STATIC.value) {
+ if (!this.currentRule.sourceName || this.currentRule.sourceType === this.SOURCE_TYPES.STATIC.value) {
this.currentRule.sourceName = this.SOURCE_TYPES.STATIC.value;
+ this.currentRule.sourceType = this.SOURCE_TYPES.STATIC.value;
}
- this.selectedPropertyObj = _.find(this.selectedServiceProperties, (prop) => prop.name === this.currentRule.servicePropertyName);
+ this.updateSelectedPropertyObj();
this.updateOperatorTypesList();
this.updateSourceTypesRelatedValues();
}
@@ -154,7 +158,7 @@ export class ServiceDependenciesEditorComponent {
}
}
- onChangePage(newIndex) {
+ onChangePage(newIndex:any) {
if (newIndex >= 0 && newIndex < this.input.serviceRules.length) {
this.currentIndex = newIndex;
this.currentRule = this.serviceRulesList[newIndex];
@@ -163,18 +167,18 @@ export class ServiceDependenciesEditorComponent {
}
onServicePropertyChanged() {
- this.selectedPropertyObj = _.find(this.selectedServiceProperties, (prop) => prop.name === this.currentRule.servicePropertyName);
+ this.currentRule.value = '';
+ this.updateSelectedPropertyObj();
this.updateOperatorTypesList();
this.filterOptionsByType();
- this.currentRule.value = '';
}
onSelectSourceType() {
+ this.currentRule.value = '';
this.currentRule.sourceType = this.currentRule.sourceName === this.SOURCE_TYPES.STATIC.value ?
this.SOURCE_TYPES.STATIC.value :
this.SOURCE_TYPES.SERVICE_PROPERTY.value;
this.updateSourceTypesRelatedValues();
- this.currentRule.value = '';
}
filterOptionsByType() {
@@ -190,7 +194,7 @@ export class ServiceDependenciesEditorComponent {
}, []);
}
- onValueChange(isValidValue) {
+ onValueChange(isValidValue:any) {
this.currentRule.updateValidity(isValidValue);
}
@@ -202,4 +206,29 @@ export class ServiceDependenciesEditorComponent {
// for update all rules
return this.serviceRulesList.every((rule) => rule.isValidRule(rule.sourceName === this.SOURCE_TYPES.STATIC.value));
}
+
+ updateSelectedPropertyObj(): void {
+ this.selectedPropertyObj = null;
+ if (this.currentRule.servicePropertyName) {
+ let newProp = new PropertyFEModel(_.find(this.selectedServiceProperties, (prop) => prop.name === this.currentRule.servicePropertyName));
+ newProp.value = JSON.stringify(this.currentRule.value);
+ this.propertiesUtils.initValueObjectRef(newProp);
+ console.log("TEST" + newProp.value);
+ setTimeout(() => {this.selectedPropertyObj = newProp})
+ }
+ }
+
+ isStaticSource(): boolean {
+ return this.currentRule.sourceType === this.SOURCE_TYPES.STATIC.value
+ }
+
+ isComplexListMapType(): boolean {
+ return this.selectedPropertyObj && this.selectedPropertyObj.derivedDataType > 0;
+ }
+
+ updateComplexListMapTypeRuleValue(): void {
+ let value = PropertyFEModel.cleanValueObj(this.selectedPropertyObj.valueObj);
+ this.currentRule.value = JSON.stringify(value);
+ this.onValueChange(this.selectedPropertyObj.valueObjIsValid);
+ }
}
diff --git a/catalog-ui/src/app/ng2/pages/service-dependencies-editor/service-dependencies-editor.module.ts b/catalog-ui/src/app/ng2/pages/service-dependencies-editor/service-dependencies-editor.module.ts
index 7b128f4468..cfa466ffa3 100644
--- a/catalog-ui/src/app/ng2/pages/service-dependencies-editor/service-dependencies-editor.module.ts
+++ b/catalog-ui/src/app/ng2/pages/service-dependencies-editor/service-dependencies-editor.module.ts
@@ -4,6 +4,7 @@ import { FormsModule } from '@angular/forms';
import { FormElementsModule } from 'app/ng2/components/ui/form-components/form-elements.module';
import { UiElementsModule } from 'app/ng2/components/ui/ui-elements.module';
import { ServiceDependenciesEditorComponent } from './service-dependencies-editor.component';
+import { PropertyTableModule } from 'app/ng2/components/logic/properties-table/property-table.module';
@NgModule({
declarations: [
@@ -13,7 +14,8 @@ import { ServiceDependenciesEditorComponent } from './service-dependencies-edito
CommonModule,
FormsModule,
FormElementsModule,
- UiElementsModule
+ UiElementsModule,
+ PropertyTableModule
],
exports: [],
entryComponents: [
} /* Name */ .highlight .o { color: #f92672 } /* Operator */ .highlight .p { color: #f8f8f2 } /* Punctuation */ .highlight .ch { color: #75715e } /* Comment.Hashbang */ .highlight .cm { color: #75715e } /* Comment.Multiline */ .highlight .cp { color: #75715e } /* Comment.Preproc */ .highlight .cpf { color: #75715e } /* Comment.PreprocFile */ .highlight .c1 { color: #75715e } /* Comment.Single */ .highlight .cs { color: #75715e } /* Comment.Special */ .highlight .gd { color: #f92672 } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gi { color: #a6e22e } /* Generic.Inserted */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #75715e } /* Generic.Subheading */ .highlight .kc { color: #66d9ef } /* Keyword.Constant */ .highlight .kd { color: #66d9ef } /* Keyword.Declaration */ .highlight .kn { color: #f92672 } /* Keyword.Namespace */ .highlight .kp { color: #66d9ef } /* Keyword.Pseudo */ .highlight .kr { color: #66d9ef } /* Keyword.Reserved */ .highlight .kt { color: #66d9ef } /* Keyword.Type */ .highlight .ld { color: #e6db74 } /* Literal.Date */ .highlight .m { color: #ae81ff } /* Literal.Number */ .highlight .s { color: #e6db74 } /* Literal.String */ .highlight .na { color: #a6e22e } /* Name.Attribute */ .highlight .nb { color: #f8f8f2 } /* Name.Builtin */ .highlight .nc { color: #a6e22e } /* Name.Class */ .highlight .no { color: #66d9ef } /* Name.Constant */ .highlight .nd { color: #a6e22e } /* Name.Decorator */ .highlight .ni { color: #f8f8f2 } /* Name.Entity */ .highlight .ne { color: #a6e22e } /* Name.Exception */ .highlight .nf { color: #a6e22e } /* Name.Function */ .highlight .nl { color: #f8f8f2 } /* Name.Label */ .highlight .nn { color: #f8f8f2 } /* Name.Namespace */ .highlight .nx { color: #a6e22e } /* Name.Other */ .highlight .py { color: #f8f8f2 } /* Name.Property */ .highlight .nt { color: #f92672 } /* Name.Tag */ .highlight .nv { color: #f8f8f2 } /* Name.Variable */ .highlight .ow { color: #f92672 } /* Operator.Word */ .highlight .w { color: #f8f8f2 } /* Text.Whitespace */ .highlight .mb { color: #ae81ff } /* Literal.Number.Bin */ .highlight .mf { color: #ae81ff } /* Literal.Number.Float */ .highlight .mh { color: #ae81ff } /* Literal.Number.Hex */ .highlight .mi { color: #ae81ff } /* Literal.Number.Integer */ .highlight .mo { color: #ae81ff } /* Literal.Number.Oct */ .highlight .sa { color: #e6db74 } /* Literal.String.Affix */ .highlight .sb { color: #e6db74 } /* Literal.String.Backtick */ .highlight .sc { color: #e6db74 } /* Literal.String.Char */ .highlight .dl { color: #e6db74 } /* Literal.String.Delimiter */ .highlight .sd { color: #e6db74 } /* Literal.String.Doc */ .highlight .s2 { color: #e6db74 } /* Literal.String.Double */ .highlight .se { color: #ae81ff } /* Literal.String.Escape */ .highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */ .highlight .si { color: #e6db74 } /* Literal.String.Interpol */ .highlight .sx { color: #e6db74 } /* Literal.String.Other */ .highlight .sr { color: #e6db74 } /* Literal.String.Regex */ .highlight .s1 { color: #e6db74 } /* Literal.String.Single */ .highlight .ss { color: #e6db74 } /* Literal.String.Symbol */ .highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #a6e22e } /* Name.Function.Magic */ .highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */ .highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */ .highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */ .highlight .vm { color: #f8f8f2 } /* Name.Variable.Magic */ .highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */ } @media (prefers-color-scheme: light) { .highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>org.openecomp.sdc</groupId>
	<artifactId>sdc-main</artifactId>
	<version>1.1.0-SNAPSHOT</version>
	<packaging>pom</packaging>




	<modules>
		<module>security-utils</module>
		<module>common-app-api</module>
		<module>common-be</module>
		<module>catalog-dao</module>
		<module>catalog-model</module>
		<module>catalog-be</module>
		<module>asdctool</module>
		<module>catalog-ui</module>
		<module>catalog-fe</module>
		<module>asdc-tests</module>
		<module>ui-ci</module>
		
		<module>openecomp-be</module>
		<module>openecomp-ui</module>

		<module>sdc-os-chef</module>

	</modules>



	<properties>

		<!-- ==================== -->
		<!-- Generic properties -->
		<!-- ==================== -->
		<build.type>-SNAPSHOT</build.type>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>


		<!-- ==================== -->
		<!-- Versions -->
		<!-- ==================== -->
		<!-- Global project version -->
		<asdc.major.version>1610</asdc.major.version>
		<asdc.minor.version>0</asdc.minor.version>
		<asdc.servicepack.version>2</asdc.servicepack.version>
		<sprint.number>33</sprint.number>
		<asdc.full.version>${project.version}</asdc.full.version>

		<!-- BE -->
		<catalog-be.major.version>${asdc.major.version}</catalog-be.major.version>
		<catalog-be.minor.version>${asdc.minor.version}</catalog-be.minor.version>
		<catalog-be.servicepack.version>${asdc.servicepack.version}</catalog-be.servicepack.version>
		<catalog-be.full.version>${catalog-be.major.version}.${catalog-be.minor.version}.${catalog-be.servicepack.version}${build.type}</catalog-be.full.version>

		<!-- FE -->
		<catalog-fe.major.version>${asdc.major.version}</catalog-fe.major.version>
		<catalog-fe.minor.version>${asdc.minor.version}</catalog-fe.minor.version>
		<catalog-fe.servicepack.version>${asdc.servicepack.version}</catalog-fe.servicepack.version>
		<catalog-fe.full.version>${catalog-fe.major.version}.${catalog-fe.minor.version}.${catalog-fe.servicepack.version}${build.type}</catalog-fe.full.version>

		<!-- CI -->
		<catalog-ci.major.version>${asdc.major.version}</catalog-ci.major.version>
		<catalog-ci.minor.version>${asdc.minor.version}</catalog-ci.minor.version>
		<catalog-ci.servicepack.version>${asdc.servicepack.version}</catalog-ci.servicepack.version>
		<catalog-ci.full.version>${catalog-ci.major.version}.${catalog-ci.minor.version}.${catalog-ci.servicepack.version}${build.type}</catalog-ci.full.version>

		<!-- UI -->
		<catalog-ui.major.version>${asdc.major.version}</catalog-ui.major.version>
		<catalog-ui.minor.version>${asdc.minor.version}</catalog-ui.minor.version>
		<catalog-ui.servicepack.version>${asdc.servicepack.version}</catalog-ui.servicepack.version>
		<catalog-ui.full.version>${catalog-ui.major.version}.${catalog-ui.minor.version}.${catalog-ui.servicepack.version}${build.type}</catalog-ui.full.version>

		<!-- Model -->
		<catalog-model.major.version>${asdc.major.version}</catalog-model.major.version>
		<catalog-model.minor.version>${asdc.minor.version}</catalog-model.minor.version>
		<catalog-model.servicepack.version>${asdc.servicepack.version}</catalog-model.servicepack.version>
		<catalog-model.full.version>${catalog-model.major.version}.${catalog-model.minor.version}.${catalog-model.servicepack.version}${build.type}</catalog-model.full.version>

		<!-- CHEF -->
		<asdc-chef.major.version>${asdc.major.version}</asdc-chef.major.version>
		<asdc-chef.minor.version>${asdc.minor.version}</asdc-chef.minor.version>
		<asdc-chef.servicepack.version>${asdc.servicepack.version}</asdc-chef.servicepack.version>
		<asdc-chef.full.version>${asdc-chef.major.version}.${asdc-chef.minor.version}.${asdc-chef.servicepack.version}${build.type}</asdc-chef.full.version>

		<!-- TESTS -->
		<sdnc-tests.major.version>${asdc.major.version}</sdnc-tests.major.version>
		<sdnc-tests.minor.version>${asdc.minor.version}</sdnc-tests.minor.version>
		<sdnc-tests.servicepack.version>${asdc.servicepack.version}</sdnc-tests.servicepack.version>
		<sdnc-tests.full.version>${sdnc-tests.major.version}.${sdnc-tests.minor.version}.${sdnc-tests.servicepack.version}${build.type}</sdnc-tests.full.version>

		<!-- TESTS2 -->
		<asdc-tests.major.version>${asdc.major.version}</asdc-tests.major.version>
		<asdc-tests.minor.version>${asdc.minor.version}</asdc-tests.minor.version>
		<asdc-tests.servicepack.version>${asdc.servicepack.version}</asdc-tests.servicepack.version>
		<asdc-tests.full.version>${asdc-tests.major.version}.${asdc-tests.minor.version}.${asdc-tests.servicepack.version}${build.type}</asdc-tests.full.version>


		<!-- Sub modules versioning -->
		<sdnc-tests.version>${asdc.full.version}</sdnc-tests.version>
		<asdc-tests.version>${asdc.full.version}</asdc-tests.version>
		<catalog-dao.version>${asdc.full.version}</catalog-dao.version>
		<catalog-model.version>${asdc.full.version}</catalog-model.version>
		<common-app-api.version>${asdc.full.version}</common-app-api.version>
		<common-be.version>${asdc.full.version}</common-be.version>
		<security-utils.version>${asdc.full.version}</security-utils.version>
		<asdctool.version>${asdc.full.version}</asdctool.version>


		<!-- 3rd parties versions -->
		<lang3.version>3.3.2</lang3.version>
		<guava.version>18.0</guava.version>
		<titan.version>1.0.0</titan.version>
		<spring-boot.version>1.1.6.RELEASE</spring-boot.version>
		<spring.version>4.3.4.RELEASE</spring.version>
		<spring.security.version>3.2.3.RELEASE</spring.security.version>
		<spring.ldap.version>2.0.1.RELEASE</spring.ldap.version>
		<mockito.version>1.9.0</mockito.version>
		<ecomp.version>1.1.0-SNAPSHOT</ecomp.version>
		<artefact-gen-api.version>1.1.0-SNAPSHOT</artefact-gen-api.version>
		<artefact-gen-core.version>1.1.0-SNAPSHOT</artefact-gen-core.version>
		<dox-common-lib.version>1.1.0-SNAPSHOT</dox-common-lib.version>

		
		<!-- Elastic Search mapper (reference the elastic search version actually). -->
		<elastic-search.version>2.1.0</elastic-search.version>
		<springockito.version>1.0.4</springockito.version>
		<alien4cloud.version>1.0.0-SM19</alien4cloud.version>
		<catalog-artifacts.version>1.0.0-SNAPSHOT</catalog-artifacts.version>
		<catalog-builders.version>1.0.0-SNAPSHOT</catalog-builders.version>
		<jetty.version>9.2.10.v20150310</jetty.version>

		<!-- JSON and YAML Parsing -->
		<jackson.version>2.6.2</jackson.version>
		<jackson.annotations.version>2.6.0</jackson.annotations.version>

		<!-- Yaml for properties -->
		<snakeyaml.version>1.12</snakeyaml.version>
		<functionaljava.version>4.2</functionaljava.version>
		<httpclient.version>4.4.1</httpclient.version>
		<httpcore.version>4.4.1</httpcore.version>
		<json-simple.version>1.1</json-simple.version>
		<jetty.servlets.version>9.2.10.v20150310</jetty.servlets.version>

		<!-- Logging start -->
		<!-- logback -->
		<logback.version>1.1.2</logback.version>
		<groovy.version>2.3.5</groovy.version>
		<janino.version>3.0.6</janino.version>
		<!-- aspects -->
		<jcabi.version>0.20.1</jcabi.version>
		<aspectjrt.version>1.8.4</aspectjrt.version>
		<jcabi.plugin.version>0.13.2</jcabi.plugin.version>
		<!-- Logging end -->
		<!-- System Metrics -->
		<sigar.version>1.6.4</sigar.version>


		<!--JaCoCO -->
		<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
		<sonar.jacoco.reportPath>${project.basedir}/target/jacoco.exec</sonar.jacoco.reportPath>
		<sonar.jacoco.itReportPath>${project.basedir}/target/it-jacoco.exec</sonar.jacoco.itReportPath>
		<!--sonar.language>java</sonar.language-->
		<sonar.version>${asdc.major.version}</sonar.version>

		<!--cassandra -->
		<cassandra.driver.version>3.0.0</cassandra.driver.version>

		<!-- Sonar properties -->
		<sonar.sourceEncoding>${project.build.sourceEncoding}</sonar.sourceEncoding>
		<sonar.skipDesign>true</sonar.skipDesign>
		<sonar.projectBaseDir>${project.basedir}</sonar.projectBaseDir>
		<sonar.sources>.</sonar.sources>
		<sonar.exclusions>**/scripts/**/*</sonar.exclusions>
		<sonar.test.exclusions>**/test/**/*,**/tests/**/*</sonar.test.exclusions>
		<sonar.inclusions>app/**/*.js,server-mock/**/*.js,src/**/*.js,src/main/**/*.java</sonar.inclusions>

		<!--nexus-->
		<nexus.proxy>https://nexus.openecomp.org</nexus.proxy>
		<staging.profile.id>176c31dfe190a</staging.profile.id>
		<!--maven-->
		<maven.build.timestamp.format>yyyyMMdd'T'HHmm</maven.build.timestamp.format>
	</properties>

	<reporting>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
				<version>2.10.4</version>
				<configuration>
					<failOnError>false</failOnError>
					<doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
					<docletArtifact>
						<groupId>org.umlgraph</groupId>
						<artifactId>umlgraph</artifactId>
						<version>5.6</version>
					</docletArtifact>
					<additionalparam>-views</additionalparam>
					<useStandardDocletOptions>true</useStandardDocletOptions>
				</configuration>
			</plugin>
		</plugins>
	</reporting>


	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>wagon-maven-plugin</artifactId>
				<version>1.0</version>
			</dependency>

			<dependency>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>exec-maven-plugin</artifactId>
				<version>1.4.0</version>
			</dependency>

			<dependency>
				<groupId>org.elasticsearch</groupId>
				<artifactId>elasticsearch</artifactId>
				<version>${elastic-search.version}</version>
			</dependency>

			<dependency>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-maven-plugin</artifactId>
				<version>9.2.10.v20150310</version>
			</dependency>

			<dependency>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-servlet</artifactId>
				<version>9.2.10.v20150310</version>
			</dependency>

			<dependency>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-webapp</artifactId>
				<version>9.2.10.v20150310</version>
			</dependency>

			<dependency>
				<groupId>org.glassfish.jersey</groupId>
				<artifactId>jersey-bom</artifactId>
				<version>2.24</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>

			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>servlet-api</artifactId>
				<version>2.5</version>
				<scope>provided</scope>
			</dependency>


			<dependency>
				<groupId>org.glassfish.jersey.media</groupId>
				<artifactId>jersey-media-json-jackson</artifactId>
				<version>2.24</version>
				<scope>compile</scope>
			</dependency>

			<dependency>
				<groupId>org.glassfish.jersey.media</groupId>
				<artifactId>jersey-media-moxy</artifactId>
				<version>2.24</version>
				<scope>compile</scope>
			</dependency>


			<!-- listen to file changes -->
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-jci-core</artifactId>
				<version>1.1</version>
				<scope>provided</scope>
			</dependency>

			<dependency>
				<groupId>com.relevantcodes</groupId>
				<artifactId>extentreports</artifactId>
				<version>2.41.0</version>
			</dependency>

			<dependency>
				<groupId>com.googlecode.json-simple</groupId>
				<artifactId>json-simple</artifactId>
				<version>${json-simple.version}</version>
				<scope>provided</scope>
			</dependency>

			<!-- functional java -->
			<dependency>
				<groupId>org.functionaljava</groupId>
				<artifactId>functionaljava</artifactId>
				<version>${functionaljava.version}</version>
				<scope>provided</scope>
			</dependency>

			<!-- Aspects -->
			<dependency>
				<groupId>com.jcabi</groupId>
				<artifactId>jcabi-aspects</artifactId>
				<version>${jcabi.version}</version>
				<scope>provided</scope>
			</dependency>


			<!-- System metrics -->
			<dependency>
				<groupId>org.fusesource</groupId>
				<artifactId>sigar</artifactId>
				<version>${sigar.version}</version>
			</dependency>		
		</dependencies>

	</dependencyManagement>




	<build>
		<pluginManagement>
			<plugins>

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-site-plugin</artifactId>
					<version>3.4</version>
					<dependencies>
						<dependency>
							<groupId>org.apache.maven.wagon</groupId>
							<artifactId>wagon-webdav-jackrabbit</artifactId>
							<version>2.10</version>
						</dependency>
					</dependencies>
				</plugin>

				<plugin>
					<groupId>io.wcm.maven.plugins</groupId>
					<artifactId>nodejs-maven-plugin</artifactId>
					<configuration>
						<npmVersion>4.3.0</npmVersion>
						<nodeJsVersion>7.5.0</nodeJsVersion>
						<nodeJsDirectory>/tmp/nodejs</nodeJsDirectory>
					</configuration>
				</plugin>			

				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>2.6</version>
				</plugin>

				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>exec-maven-plugin</artifactId>
					<version>1.4.0</version>
				</plugin>
				<plugin>
					<groupId>org.sonarsource.scanner.maven</groupId>
					<artifactId>sonar-maven-plugin</artifactId>
					<version>3.0.2</version>
				</plugin>
			</plugins>
		</pluginManagement>

		<plugins>

			<plugin>
				<artifactId>maven-surefire-plugin</artifactId>
				<version>2.19.1</version>
				<configuration>
					<systemPropertyVariables>
						<logback.configurationFile>src/test/resources/logback-test.xml</logback.configurationFile>
					</systemPropertyVariables>
				</configuration>
			</plugin>

			<!-- ================================================== -->
			<!-- Set the JDK compiler version. -->
			<!-- ================================================== -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>2.5.1</version>
				<inherited>true</inherited>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>

			<!-- ============================================= -->
			<!-- Java Code Coverage -->
			<!-- ============================================= -->
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
				<version>0.7.1.201405082137</version>
				<inherited>True</inherited>

				<executions>

					<!-- Unit-Tests -->
					<execution>
						<id>prepare-agent</id>
						<goals>
							<goal>prepare-agent</goal>
						</goals>
						<configuration>
							<destFile>${sonar.jacoco.reportPath}</destFile>
						</configuration>
					</execution>


					<execution>
						<id>report</id>
						<goals>
							<goal>report</goal>
						</goals>
						<configuration>
							<dataFile>${sonar.jacoco.reportPath}</dataFile>
							<outputDirectory>${project.basedir}/target/site/jacoco</outputDirectory>
						</configuration>
					</execution>

					<!-- Integration Tests (Only report goal) -->
					<execution>
						<id>report-integration</id>
						<goals>
							<goal>report-integration</goal>
						</goals>
						<configuration>
							<dataFile>${sonar.jacoco.itReportPath}</dataFile>
							<outputDirectory>${project.basedir}/target/site/it-jacoco</outputDirectory>
						</configuration>
					</execution>
				</executions>
			</plugin>



			<!-- ================================================== -->
			<!-- Set the deployment repositories properties. -->
			<!-- ================================================== -->
			<plugin>
				<groupId>org.codehaus.gmaven</groupId>
				<artifactId>gmaven-plugin</artifactId>
				<version>1.4</version>
				<executions>
					<execution>
						<inherited>false</inherited>
						<phase>integration-test</phase>
						<goals>
							<goal>execute</goal>
						</goals>
						<configuration>
							<source>
								pom.properties['deploy.url']=
								pom.version.contains('-SNAPSHOT') ?
								project.distributionManagement.snapshotRepository.url :
								project.distributionManagement.repository.url;
								pom.properties['repo.id']= pom.version.contains('-SNAPSHOT') ?
								project.distributionManagement.snapshotRepository.id :
								project.distributionManagement.repository.id;
							</source>
						</configuration>
					</execution>
				</executions>
			</plugin>

			<!-- Staging Plugin -->
			<plugin>
				<groupId>org.sonatype.plugins</groupId>
				<artifactId>nexus-staging-maven-plugin</artifactId>
				<version>1.6.7</version>
				<extensions>true</extensions>
				<configuration>
					<nexusUrl>${nexus.proxy}</nexusUrl>
					<stagingProfileId>${staging.profile.id}</stagingProfileId>
					<serverId>ecomp-staging</serverId>
				</configuration>
			</plugin>
			
			<!-- license plugin -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>license-maven-plugin</artifactId>
				<version>1.10</version>
				<configuration>
					<addJavaLicenseAfterPackage>false</addJavaLicenseAfterPackage>
					<processStartTag>============LICENSE_START=======================================================</processStartTag>
					<processEndTag>============LICENSE_END=========================================================</processEndTag>
					<sectionDelimiter>================================================================================</sectionDelimiter>
					<licenseName>apache_v2</licenseName>
					<inceptionYear>2017</inceptionYear>
					<organizationName>AT&amp;T Intellectual Property. All rights reserved.</organizationName>
					<projectName>SDC</projectName>
					<canUpdateCopyright>true</canUpdateCopyright>
					<canUpdateDescription>true</canUpdateDescription>
					<canUpdateLicense>true</canUpdateLicense>
					<emptyLineAfterHeader>true</emptyLineAfterHeader>
					<verbose>false</verbose>
					<includes>
						<include>**/*.java</include>
						<include>**/*.js</include>
						<include>**/*.ts</include>
					</includes>
					<roots>
						<root>src</root>
						<root>app</root>
						<root>server-mock</root>
						<root>typings</root>
					</roots>
				</configuration>
				<executions>
					<execution>
						<id>first</id>
						<goals>
							<goal>update-file-header</goal>
						</goals>
						<!--phase>process-sources</phase-->
					</execution>
				</executions>
			</plugin>

			<!-- blackduck maven plugin -->
			<!-- <plugin>
 				<groupId>com.blackducksoftware.integration</groupId>
 				<artifactId>hub-maven-plugin</artifactId>
 				<version>1.0.4</version>
 				<inherited>false</inherited>
 				<configuration>
  					<target>${project.basedir}</target>
	 			</configuration>
 				<executions>
  					<execution>
   						<id>create-bdio-file</id>
   						<phase>package</phase>
   						<goals>
    						<goal>createHubOutput</goal>
   						</goals>
  					</execution>
 				</executions>
 			</plugin> -->
 		</plugins>
 	</build>



 	<repositories>
 		<repository>
 			<id>virtuos</id>
 			<name>Virtuos</name>
 			<url>http://nexus.virtuos.uos.de/nexus/content/repositories/public/</url>
 			<layout>default</layout>
 		</repository>
 		<repository>
 			<id>apache-public</id>
 			<name>Apache-Public</name>
 			<url>https://repository.apache.org/content/groups/public/</url>
 			<layout>default</layout>
 		</repository>
 		<repository>
 			<id>elasticsearch-releases</id>
 			<url>https://maven.elasticsearch.org/releases</url>
 			<releases>
 				<enabled>true</enabled>
 			</releases>
 			<snapshots>
 				<enabled>false</enabled>
 			</snapshots>
 		</repository>
 		<repository>
 			<id>central</id>
 			<name>Official Maven repository</name>
 			<url>http://repo2.maven.org/maven2/</url>
 		</repository>
 		<repository>
 			<id>ecomp-releases</id>
 			<name>Release Repository</name>
 			<url>${nexus.proxy}/content/repositories/releases/</url>
 		</repository>
 		<repository>
 			<id>ecomp-staging</id>
 			<name>Staging Repository</name>
 			<url>${nexus.proxy}/content/repositories/staging/</url>
 		</repository>
 		<repository>
 			<id>ecomp-snapshots</id>
 			<name>Snapshots Repository</name>
 			<url>${nexus.proxy}/content/repositories/snapshots/</url>
 		</repository>
 		<repository>
 			<id>node</id>
 			<name>Node</name>
 			<url>https://maven-nodejs-proxy.pvtool.org/</url>
 		</repository>
 	</repositories>

 	<distributionManagement>

 		<repository>
 			<id>ecomp-releases</id>
 			<name>Release Repository</name>
 			<url>${nexus.proxy}/content/repositories/releases/</url>
 		</repository>
 		<snapshotRepository>
 			<id>ecomp-snapshots</id>
 			<name>Snapshot Repository</name>
 			<url>${nexus.proxy}/content/repositories/snapshots/</url>
 		</snapshotRepository>

 	</distributionManagement>
 </project>