Update designer configuraiton file
Updated the designer configuration file to support the new display options
Made sure that the old code still works
Change-Id: Ia63cb89b0f8cb92fc86e0804afe7e2c2caea0541
Issue-ID: SDC-938
Signed-off-by: Idan Amit <ia096e@intl.att.com>
diff --git a/catalog-fe/src/main/resources/config/designers-configuration.yaml b/catalog-fe/src/main/resources/config/designers-configuration.yaml
index 7064619..abdf9ea 100644
--- a/catalog-fe/src/main/resources/config/designers-configuration.yaml
+++ b/catalog-fe/src/main/resources/config/designers-configuration.yaml
@@ -1,17 +1,22 @@
designersList:
- - displayName: DCAE
- designerHost: 192.168.50.5
+ - designerId: DCAE
+ designerHost: localhost
designerPort: 8080
designerPath: "/dcae"
designerStateUrl: "dcae"
designerProtocol: http
- buttonLocation: ["top", "tab"]
- tabPresentation: ["VF", "SERVICE"]
- - displayName: WORKFLOW
- designerHost: 192.168.50.5
+ designerDisplayOptions:
+ tab:
+ displayName: "monitor"
+ validResourceTypes: ["VF", "SERVICE"]
+ top:
+ displayName: "DCAE"
+ - designerId: WORKFLOW
+ designerHost: localhost
designerPort: 9527
designerPath: "/"
designerStateUrl: "workflowDesigner"
designerProtocol: http
- buttonLocation: ["top"]
- tabPresentation: []
\ No newline at end of file
+ designerDisplayOptions:
+ top:
+ displayName: "Workflow Designer"
\ No newline at end of file
diff --git a/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/DesignerStatusBLTest.java b/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/DesignerStatusBLTest.java
index 00c2d20..0b5b9cd 100644
--- a/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/DesignerStatusBLTest.java
+++ b/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/DesignerStatusBLTest.java
@@ -54,7 +54,7 @@
ConfigurationManager.setTestInstance(configurationManager);
when(configurationManager.getDesignersConfiguration()).thenReturn(designersConfiguration);
- offlineDesigner.setDisplayName(offlineDesignerDisplayName);
+ offlineDesigner.setDesignerId(offlineDesignerDisplayName);
offlineDesigner.setDesignerHost(offlineDesignerHost);
offlineDesigner.setDesignerPort(offlineDesignerPort);
offlineDesigner.setDesignerPath(offlineDesignerPath);
@@ -64,7 +64,7 @@
offlineRequestString.append(offlineDesignerProtocol).append("://").append(onlineDesignerHost).append(":")
.append(offlineDesignerPort).append(offlineDesignerPath);
- onlineDesigner.setDisplayName(onlineDesignerDisplayName);
+ onlineDesigner.setDesignerId(onlineDesignerDisplayName);
onlineDesigner.setDesignerHost(onlineDesignerHost);
onlineDesigner.setDesignerPort(onlineDesignerPort);
onlineDesigner.setDesignerPath(onlineDesignerPath);
diff --git a/catalog-ui/src/app/models/designers-config.ts b/catalog-ui/src/app/models/designers-config.ts
index c784be2..c218c89 100644
--- a/catalog-ui/src/app/models/designers-config.ts
+++ b/catalog-ui/src/app/models/designers-config.ts
@@ -1,13 +1,17 @@
export class Designer {
- displayName: string;
+ designerId: string;
designerHost: string;
designerPort: number;
designerPath: string;
designerStateUrl: string;
designerProtocol: string;
- designerButtonLocation: Array<string>;
- designerTabPresentation: Array<string>;
+ designerDisplayOptions: Map<string, DesignerDisplayOptions>;
+}
+
+export class DesignerDisplayOptions {
+ displayName: string;
+ validResourceTypes: Array<string>;
}
export type Designers = Array<Designer>;
diff --git a/catalog-ui/src/app/ng2/components/layout/top-nav/top-nav.component.ts b/catalog-ui/src/app/ng2/components/layout/top-nav/top-nav.component.ts
index 846b84c..632b2be 100644
--- a/catalog-ui/src/app/ng2/components/layout/top-nav/top-nav.component.ts
+++ b/catalog-ui/src/app/ng2/components/layout/top-nav/top-nav.component.ts
@@ -122,7 +122,9 @@
});
_.each(DesignersConfiguration.designers, (designer: Designer) => {
- tmpArray.push(new MenuItem(designer.displayName, null, "designers", "goToState", {path: designer.designerStateUrl}, null));
+ if (designer.designerDisplayOptions["top"]) {
+ tmpArray.push(new MenuItem(designer.designerDisplayOptions["top"].displayName, null, "designers", "goToState", {path: designer.designerStateUrl}, null));
+ }
})
}
diff --git a/common-app-api/src/main/java/org/openecomp/sdc/fe/config/DesignersConfiguration.java b/common-app-api/src/main/java/org/openecomp/sdc/fe/config/DesignersConfiguration.java
index 6803120..1b44d72 100644
--- a/common-app-api/src/main/java/org/openecomp/sdc/fe/config/DesignersConfiguration.java
+++ b/common-app-api/src/main/java/org/openecomp/sdc/fe/config/DesignersConfiguration.java
@@ -2,6 +2,7 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import org.openecomp.sdc.common.api.BasicConfiguration;
@@ -23,29 +24,20 @@
public static class Designer {
- private String displayName;
+ private String designerId;
private String designerHost;
private Integer designerPort;
private String designerPath;
private String designerStateUrl;
private String designerProtocol;
- private List<String> designerButtonLocation;
- private List<String> designerTabPresentation;
+ private Map<String, DesignerDisplayOptions> designerDisplayOptions;
- public List<String> getDesignerButtonLocation() {
- return designerButtonLocation;
+ public Map<String, DesignerDisplayOptions> getDesignerDisplayOptions() {
+ return designerDisplayOptions;
}
- public void setDesignerButtonLocation(List<String> designerButtonLocation) {
- this.designerButtonLocation = designerButtonLocation;
- }
-
- public List<String> getDesignerTabPresentation() {
- return designerTabPresentation;
- }
-
- public void setDesignerTabPresentation(List<String> designerTabPresentation) {
- this.designerTabPresentation = designerTabPresentation;
+ public void setDesignerDisplayOptions(Map<String, DesignerDisplayOptions> designerDisplayOptions) {
+ this.designerDisplayOptions = designerDisplayOptions;
}
public String getDesignerStateUrl() {
@@ -64,12 +56,12 @@
this.designerProtocol = designerProtocol;
}
- public String getDisplayName() {
- return displayName;
+ public String getDesignerId() {
+ return designerId;
}
- public void setDisplayName(String displayName) {
- this.displayName = displayName;
+ public void setDesignerId(String designerId) {
+ this.designerId = designerId;
}
public String getDesignerHost() {
@@ -98,6 +90,28 @@
}
+ public static class DesignerDisplayOptions {
+
+ private String displayName;
+ private List<String> validResourceTypes;
+
+ public String getDisplayName() {
+ return displayName;
+ }
+
+ public void setDisplayName(String displayName) {
+ this.displayName = displayName;
+ }
+
+ public List<String> getValidResourceTypes() {
+ return validResourceTypes;
+ }
+
+ public void setValidResourceTypes(List<String> validResourceTypes) {
+ this.validResourceTypes = validResourceTypes;
+ }
+ }
+
}
diff --git a/sdc-os-chef/environments/Template.json b/sdc-os-chef/environments/Template.json
index d39eba3..5d11261 100644
--- a/sdc-os-chef/environments/Template.json
+++ b/sdc-os-chef/environments/Template.json
@@ -42,22 +42,14 @@
},
"Designers": {
"DCAE": {
- "dcae_host": "yyy",
- "dcae_port": "yyy",
- "dcae_path": "yyy",
- "dcae_state_url": "yyy",
"dcae_protocol": "yyy",
- "dcae_button_position": ["xxx", "yyy"],
- "dcae_tab_presentation": ["xxx", "yyy"]
+ "dcae_host": "yyy",
+ "dcae_port": "yyy"
},
"WORKFLOW": {
- "workflow_host": "yyy",
- "workflow_port": "yyy",
- "workflow_path": "yyy",
- "workflow_state_url": "yyy",
"workflow_protocol": "yyy",
- "workflow_button_position": ["xxx", "yyy"],
- "workflow_tab_presentation": ["xxx", "yyy"]
+ "workflow_host": "yyy",
+ "workflow_port": "yyy"
}
}
},
diff --git a/sdc-os-chef/sdc-frontend/chef-repo/cookbooks/sdc-catalog-fe/recipes/FE_2_setup_configuration.rb b/sdc-os-chef/sdc-frontend/chef-repo/cookbooks/sdc-catalog-fe/recipes/FE_2_setup_configuration.rb
index 0d12e3b..8612b5f 100644
--- a/sdc-os-chef/sdc-frontend/chef-repo/cookbooks/sdc-catalog-fe/recipes/FE_2_setup_configuration.rb
+++ b/sdc-os-chef/sdc-frontend/chef-repo/cookbooks/sdc-catalog-fe/recipes/FE_2_setup_configuration.rb
@@ -23,20 +23,12 @@
group "jetty"
mode "0755"
variables({
+ :dcae_protocol => node['Designers']['DCAE']['dcae_protocol'],
:dcae_host => node['Designers']['DCAE']['dcae_host'],
:dcae_port => node['Designers']['DCAE']['dcae_port'],
- :dcae_path => node['Designers']['DCAE']['dcae_path'],
- :dcae_state_url => node['Designers']['DCAE']['dcae_state_url'],
- :dcae_protocol => node['Designers']['DCAE']['dcae_protocol'],
- :dcae_button_location => node['Designers']['DCAE']['dcae_button_location'],
- :dcae_tab_presentation => node['Designers']['DCAE']['dcae_tab_presentation'],
+ :workflow_protocol => node['Designers']['WORKFLOW']['workflow_protocol'],
:workflow_host => node['Designers']['WORKFLOW']['workflow_host'],
:workflow_port => node['Designers']['WORKFLOW']['workflow_port'],
- :workflow_path => node['Designers']['WORKFLOW']['workflow_path'],
- :workflow_state_url => node['Designers']['WORKFLOW']['workflow_state_url'],
- :workflow_protocol => node['Designers']['WORKFLOW']['workflow_protocol'],
- :workflow_button_location => node['Designers']['WORKFLOW']['workflow_button_location'],
- :workflow_tab_presentation => node['Designers']['WORKFLOW']['workflow_tab_presentation']
})
end
diff --git a/sdc-os-chef/sdc-frontend/chef-repo/cookbooks/sdc-catalog-fe/templates/default/FE-designers-configuration.yaml.erb b/sdc-os-chef/sdc-frontend/chef-repo/cookbooks/sdc-catalog-fe/templates/default/FE-designers-configuration.yaml.erb
index f8a7999..fd8a81b 100644
--- a/sdc-os-chef/sdc-frontend/chef-repo/cookbooks/sdc-catalog-fe/templates/default/FE-designers-configuration.yaml.erb
+++ b/sdc-os-chef/sdc-frontend/chef-repo/cookbooks/sdc-catalog-fe/templates/default/FE-designers-configuration.yaml.erb
@@ -1,17 +1,22 @@
designersList:
- - displayName: DCAE
+ - designerId: DCAE
+ designerProtocol: <%= @dcae_protocol %>
designerHost: <%= @dcae_host %>
designerPort: <%= @dcae_port %>
- designerPath: <%= @dcae_path %>
- designerStateUrl: <%= @dcae_state_url %>
- designerProtocol: <%= @dcae_protocol %>
- designerButtonLocation: <%= @dcae_button_location %>
- designerTabPresentation: <%= @dcae_tab_presentation %>
- - displayName: WORKFLOW
+ designerPath: "/dace"
+ designerStateUrl: "dcae"
+ designerDisplayOptions:
+ tab:
+ displayName: "monitor"
+ validResourceTypes: ["VF", "SERVICE"]
+ top:
+ displayName: "DCAE"
+ - designerId: WORKFLOW
+ designerProtocol: <%= @workflow_protocol %>
designerHost: <%= @workflow_host %>
designerPort: <%= @workflow_port %>
- designerPath: <%= @workflow_path %>
- designerStateUrl: <%= @workflow_state_url %>
- designerProtocol: <%= @workflow_protocol %>
- designerButtonLocation: <%= @workflow_button_location %>
- designerTabPresentation: <%= @workflow_tab_presentation %>
\ No newline at end of file
+ designerPath: "/"
+ designerStateUrl: "workflowDesigner"
+ designerDisplayOptions:
+ top:
+ displayName: "Workflow Designer"
\ No newline at end of file