diff --git a/openecomp-ui/src/sdc-app/common/merge/MergeEditorConstants.js b/openecomp-ui/src/sdc-app/common/merge/MergeEditorConstants.js
index bb25a1a..14745e2 100644
--- a/openecomp-ui/src/sdc-app/common/merge/MergeEditorConstants.js
+++ b/openecomp-ui/src/sdc-app/common/merge/MergeEditorConstants.js
@@ -1,5 +1,5 @@
 /*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2016-2018 European Support Limited
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -13,15 +13,17 @@
  * or implied. See the License for the specific language governing
  * permissions and limitations under the License.
  */
-
 import keyMirror from 'nfvo-utils/KeyMirror.js';
 
-export const actionTypes = keyMirror({
-    LOAD_CONFLICTS: null,
-    ADD_ACTIONS: null,
-    LOAD_CONFLICT: null,
-    DATA_PROCESSED: null
-});
+export const actionTypes = keyMirror(
+    {
+        LOAD_CONFLICTS: null,
+        ADD_ACTIONS: null,
+        LOAD_CONFLICT: null,
+        DATA_PROCESSED: null
+    },
+    'mergeEditor'
+);
 
 export const rules = {
     SKIP: 'skip',
diff --git a/openecomp-ui/src/sdc-app/common/reducers/JSONSchemaReducerConstants.js b/openecomp-ui/src/sdc-app/common/reducers/JSONSchemaReducerConstants.js
index 439613d..8863d3c 100644
--- a/openecomp-ui/src/sdc-app/common/reducers/JSONSchemaReducerConstants.js
+++ b/openecomp-ui/src/sdc-app/common/reducers/JSONSchemaReducerConstants.js
@@ -1,5 +1,5 @@
 /*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2016-2018 European Support Limited
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -15,9 +15,12 @@
  */
 import keyMirror from 'nfvo-utils/KeyMirror.js';
 
-export const actionTypes = keyMirror({
-    DATA_LOADED: null,
-    DATA_CHANGED: null,
-    VALIDATE_FORM: null,
-    VALIDATE_DATA: null
-});
+export const actionTypes = keyMirror(
+    {
+        DATA_LOADED: null,
+        DATA_CHANGED: null,
+        VALIDATE_FORM: null,
+        VALIDATE_DATA: null
+    },
+    'JSONSchema/'
+);
diff --git a/openecomp-ui/src/sdc-app/common/reducers/PlainDataReducerConstants.js b/openecomp-ui/src/sdc-app/common/reducers/PlainDataReducerConstants.js
index 8c38483..b87ed23 100644
--- a/openecomp-ui/src/sdc-app/common/reducers/PlainDataReducerConstants.js
+++ b/openecomp-ui/src/sdc-app/common/reducers/PlainDataReducerConstants.js
@@ -1,5 +1,5 @@
 /*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2016-2018 European Support Limited
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -15,8 +15,11 @@
  */
 import keyMirror from 'nfvo-utils/KeyMirror.js';
 
-export const actionTypes = keyMirror({
-    DATA_CHANGED: null,
-    VALIDATE_FORM: null,
-    VALIDATE_DATA: null
-});
+export const actionTypes = keyMirror(
+    {
+        DATA_CHANGED: null,
+        VALIDATE_FORM: null,
+        VALIDATE_DATA: null
+    },
+    'plainDataReducer'
+);
