aboutsummaryrefslogtreecommitdiffstats
path: root/ecomp-sdk-app/src/main/java/org/openecomp/policy
diff options
context:
space:
mode:
authorITSERVICES\rb7147 <rb7147@att.com>2017-04-25 11:46:00 -0400
committerITSERVICES\rb7147 <rb7147@att.com>2017-05-03 09:58:17 -0400
commite0addf5b588a1244f9679becd90999dfcb4c3a94 (patch)
tree1212772d6366730266ff0e093c874b07aa716c29 /ecomp-sdk-app/src/main/java/org/openecomp/policy
parent39fb0f30472777e4b60d6a7ac8aa4eb9773961ff (diff)
Policy 1707 commit to LF
Change-Id: Ibe6f01d92f9a434c040abb05d5386e89d675ae65 Signed-off-by: ITSERVICES\rb7147 <rb7147@att.com>
Diffstat (limited to 'ecomp-sdk-app/src/main/java/org/openecomp/policy')
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/AddressGroupJson.java79
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/AddressJson.java44
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/AddressMembers.java46
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/AutoPushTabAdapter.java42
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopFaultBody.java280
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopFaultTriggerUISignatures.java44
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopPMBody.java133
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopPerformanceMetrics.java36
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopPolicy.java61
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopPolicyConditions.java39
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopPolicyStatus.java41
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopSignatures.java52
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/DeletePolicyCondition.java38
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/DeployNowJson.java36
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/GridData.java54
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/PolicyAdapter.java619
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/PolicyExportAdapter.java36
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/PrefixIPList.java74
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ServiceGroupJson.java79
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ServiceListJson.java107
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ServiceMembers.java48
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ServicesJson.java44
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/Term.java201
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/TermCollector.java132
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/CheckPDP.java187
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/PAPNotificationBroadcaster.java120
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/PolicyManagerServlet.java1334
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/PolicyNotificationMail.java140
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/RESTfulPAPEngine.java732
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/XacmlAdminUI.java266
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/components/ElasticSearchComponent.java426
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/components/HumanPolicyComponent.java982
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/components/PolicyImportWindow.java226
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/conf/HibernateSession.java60
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/ActionPolicyController.java535
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/AdminTabController.java100
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/AutoPushController.java433
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateBRMSParamController.java723
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateBRMSRawController.java440
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateClosedLoopFaultController.java889
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateClosedLoopPMController.java422
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateDcaeMicroServiceController.java987
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateFirewallController.java1292
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreatePolicyController.java484
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/DashboardController.java430
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/DecisionPolicyController.java507
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PDPController.java302
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PolicyController.java418
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PolicyExportAndImportController.java563
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PolicyNotificationController.java122
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PolicyRolesController.java137
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PolicyValidationController.java300
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/FunctionDefinitionDao.java32
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/GlobalRoleSettingsDao.java33
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/GroupEntityDao.java39
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/PDPEntityDao.java33
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/PolicyEditorScopesDao.java37
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/PolicyRolesDao.java37
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/PolicyVersionDao.java38
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/RemoteCatalogValuesDao.java34
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/RolesDao.java38
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/RuleAlgorithmsDao.java31
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/SystemLogDbDao.java33
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/WatchPolicyNotificationDao.java35
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/ActionPolicyDictDaoImpl.java178
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/AddressGroupDaoImpl.java152
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/BRMSParamTemplateDaoImpl.java152
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/DescriptiveScopeDaoImpl.java177
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/FirewallDictionaryListDaoImpl.java196
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/FunctionDefinitionDaoImpl.java94
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/GlobalRoleSettingsDaoImpl.java91
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/GroupEntityDaoImpl.java124
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/GroupPolicyScopeListDaoImpl.java177
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/MicroServiceModelsDaoImpl.java156
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/PDPEntityDaoImpl.java68
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/PolicyEditorScopesDaoImpl.java193
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/PolicyRolesDaoImpl.java159
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/PolicyVersionDaoImpl.java216
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/PrefixListDaoImpl.java153
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/RemoteCatalogValuesDaoImpl.java150
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/RolesDaoImpl.java109
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/RuleAlgorithmsDaoImpl.java68
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/SafePolicyWarningDaoImpl.java181
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/SecurityZoneDaoImpl.java152
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/ServiceGroupDaoImpl.java153
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/ServiceListDaoImpl.java154
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/SystemLogDbDaoImpl.java93
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/TermListDaoImpl.java176
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/UserInfoDaoImpl.java123
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/VarbindDictionaryDaoImpl.java177
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/WatchPolicyNotificationDaoImpl.java173
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/client/ElkConnector.java1235
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/client/Pair.java35
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/client/PolicyElasticSearchController.java756
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/client/PolicyLocator.java53
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/converter/ElkRecord.java42
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/converter/Xacml2Elk.java978
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/model/PDPGroupContainer.java531
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/model/PDPPolicyContainer.java348
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/model/Roles.java95
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/utils/ConfigurableRESTUtils.java163
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/utils/PolicyContainer.java121
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/utils/PolicyItemSetChangeNotifier.java95
-rw-r--r--ecomp-sdk-app/src/main/java/org/openecomp/policy/utils/XACMLPolicyWriterWithPapNotify.java494
104 files changed, 0 insertions, 25283 deletions
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/AddressGroupJson.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/AddressGroupJson.java
deleted file mode 100644
index e60e4061e..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/AddressGroupJson.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class AddressGroupJson {
-
- protected String name;
- protected String description;
- protected List<AddressMembers> members;
-
- // name
- public String getName() {
- return name;
- }
-
- public void setName(String value) {
- this.name = value;
- }
-
- public boolean equals(Object obj)
- {
- AddressGroupJson servGroupobj=(AddressGroupJson) obj;
- if(this.getName().equals(servGroupobj.getName()))
- {
- return true;
- }
- return false;
- }
-
- public int hashCode() {
- return Integer.valueOf(name.charAt(0)+(name.charAt(1)));
- }
-
- // description
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String value) {
- this.description = value;
- }
-
- public List<AddressMembers> getMembers()
- {
- if(members==null)
- {
- members= new ArrayList<AddressMembers>();
- }
- return this.members;
- }
-
- public void setMembers(List<AddressMembers> members)
- {
- this.members = members;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/AddressJson.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/AddressJson.java
deleted file mode 100644
index 372eddf1b..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/AddressJson.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-public class AddressJson {
-
- protected String type;
- protected String value;
- // type
- public String getType() {
- return type;
- }
-
- public void setType(String type) {
- this.type = type;
- }
-
- public String getValue() {
- return value;
- }
-
- public void setValue(String value) {
- this.value = value;
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/AddressMembers.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/AddressMembers.java
deleted file mode 100644
index 3fd22eec6..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/AddressMembers.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-
-public class AddressMembers {
-
- protected String type;
- protected String value;
-
- public String getType() {
- return type;
- }
-
- public void setType(String type) {
- this.type = type;
- }
-
- public String getValue() {
- return value;
- }
-
- public void setValue(String value) {
- this.value = value;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/AutoPushTabAdapter.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/AutoPushTabAdapter.java
deleted file mode 100644
index 85f767f26..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/AutoPushTabAdapter.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-import java.util.ArrayList;
-
-public class AutoPushTabAdapter {
-
- private ArrayList<Object> pdpDatas;
- private ArrayList<Object> policyDatas;
- public ArrayList<Object> getPdpDatas() {
- return pdpDatas;
- }
- public void setPdpDatas(ArrayList<Object> pdpDatas) {
- this.pdpDatas = pdpDatas;
- }
- public ArrayList<Object> getPolicyDatas() {
- return policyDatas;
- }
- public void setPolicyDatas(ArrayList<Object> policyDatas) {
- this.policyDatas = policyDatas;
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopFaultBody.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopFaultBody.java
deleted file mode 100644
index cb1ce55a6..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopFaultBody.java
+++ /dev/null
@@ -1,280 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-
-public class ClosedLoopFaultBody {
-
- private boolean trinity;
- private boolean vUSP;
- private boolean mcr;
- private boolean gama;
- private boolean vDNS;
-
- private String vnfType;
- private String vServices;
- private String ECOMPname;
-
- private String closedLoopPolicyStatus;
- private ClosedLoopSignatures triggerSignatures;
- private String actions;
- private int timeInterval;
- private int timeOutvPRO;
- private int timeOutRuby;
- private int retrys;
- private int agingWindow;
- private String geoLink;
- private String emailAddress;
- private ClosedLoopSignatures verificationSignatures;
- private ClosedLoopPolicyConditions conditions;
- private ClosedLoopFaultTriggerUISignatures triggerSignaturesUsedForUI;
- private ClosedLoopFaultTriggerUISignatures verificationSignaturesUsedForUI;
- private int triggerTimeWindowUsedForUI;
- private int verfificationTimeWindowUsedForUI;
- private String pepName;
- private String pepAction;
- private String templateVersion;
- private int trapMaxAgeUsedForUI;
-
-
- public Integer getTrapMaxAgeUsedForUI() {
- return trapMaxAgeUsedForUI;
- }
-
- public void setTrapMaxAgeUsedForUI(int trapMaxAgeUsedForUI) {
- this.trapMaxAgeUsedForUI = trapMaxAgeUsedForUI;
- }
-
- public String getTemplateVersion() {
- return templateVersion;
- }
-
- public void setTemplateVersion(String templateVersion) {
- this.templateVersion = templateVersion;
- }
-
- public Integer getTimeOutvPRO() {
- return timeOutvPRO;
- }
-
- public void setTimeOutvPRO(int timeOutvPRO) {
- this.timeOutvPRO = timeOutvPRO;
- }
-
-
- public Integer getTriggerTimeWindowUsedForUI() {
- return triggerTimeWindowUsedForUI;
- }
-
- public String getPepName() {
- return pepName;
- }
-
- public void setPepName(String pepName) {
- this.pepName = pepName;
- }
-
- public String getPepAction() {
- return pepAction;
- }
-
- public void setPepAction(String pepAction) {
- this.pepAction = pepAction;
- }
-
- public void setTriggerTimeWindowUsedForUI(int triggerTimeWindowUsedForUI) {
- this.triggerTimeWindowUsedForUI = triggerTimeWindowUsedForUI;
- }
-
- public Integer getVerfificationTimeWindowUsedForUI() {
- return verfificationTimeWindowUsedForUI;
- }
-
- public void setVerfificationTimeWindowUsedForUI(
- int verfificationTimeWindowUsedForUI) {
- this.verfificationTimeWindowUsedForUI = verfificationTimeWindowUsedForUI;
- }
-
- public String getECOMPname(){
- return ECOMPname;
- }
-
- public void setECOMPname(String ECOMPname){
- this.ECOMPname = ECOMPname;
- }
-
- public String getvServices() {
- return vServices;
- }
- public void setvServices(String vServices) {
- this.vServices = vServices;
- }
-
- public ClosedLoopFaultTriggerUISignatures getVerificationSignaturesUsedForUI() {
- return verificationSignaturesUsedForUI;
- }
- public void setVerificationSignaturesUsedForUI(
- ClosedLoopFaultTriggerUISignatures verificationSignaturesUsedForUI) {
- this.verificationSignaturesUsedForUI = verificationSignaturesUsedForUI;
- }
- public ClosedLoopFaultTriggerUISignatures getTriggerSignaturesUsedForUI() {
- return triggerSignaturesUsedForUI;
- }
- public void setTriggerSignaturesUsedForUI(
- ClosedLoopFaultTriggerUISignatures triggerSignaturesUsedForUI) {
- this.triggerSignaturesUsedForUI = triggerSignaturesUsedForUI;
- }
- public ClosedLoopPolicyConditions getConditions() {
- return conditions;
- }
- public void setConditions(ClosedLoopPolicyConditions conditions) {
- this.conditions = conditions;
- }
-
- public String getVnfType() {
- return vnfType;
- }
- public void setVnfType(String vnfType) {
- this.vnfType = vnfType;
- }
-
- public Integer getAgingWindow() {
- return agingWindow;
- }
- public void setAgingWindow(int agingWindow) {
- this.agingWindow = agingWindow;
- }
-
- public String getClosedLoopPolicyStatus() {
- return closedLoopPolicyStatus;
- }
- public void setClosedLoopPolicyStatus(
- String closedLoopPolicyStatus) {
- this.closedLoopPolicyStatus = closedLoopPolicyStatus;
- }
- public ClosedLoopSignatures getTriggerSignatures() {
- return triggerSignatures;
- }
- public void setTriggerSignatures(ClosedLoopSignatures triggerSignatures) {
- this.triggerSignatures = triggerSignatures;
- }
- public String getActions() {
- return actions;
- }
- public void setActions(String actions) {
- this.actions = actions;
- }
- public Integer getTimeInterval() {
- return timeInterval;
- }
- public void setTimeInterval(int timeInterval) {
- this.timeInterval = timeInterval;
- }
- public Integer getTimeOutRuby() {
- return timeOutRuby;
- }
- public void setTimeOutRuby(int timeOutRuby) {
- this.timeOutRuby = timeOutRuby;
- }
- public Integer getRetrys() {
- return retrys;
- }
- public void setRetrys(int retrys) {
- this.retrys = retrys;
- }
- public String getGeoLink() {
- return geoLink;
- }
- public void setGeoLink(String geoLink) {
- this.geoLink = geoLink;
- }
- public String getEmailAddress() {
- return emailAddress;
- }
- public void setEmailAddress(String emailAddress) {
- this.emailAddress = emailAddress;
- }
- public ClosedLoopSignatures getVerificationSignatures() {
- return verificationSignatures;
- }
- public void setVerificationSignatures(
- ClosedLoopSignatures verificationSignatures) {
- this.verificationSignatures = verificationSignatures;
- }
-
- /*public ArrayList<String> getD2Services() {
- return d2Services;
- }
-
- public void setD2Services(ArrayList<String> d2Services) {
- this.d2Services = d2Services;
- }
-
- public ArrayList<String> getSiteNames() {
- return siteNames;
- }
-
- public void setSiteNames(ArrayList<String> siteNames) {
- this.siteNames = siteNames;
- }*/
-
- public boolean isvDNS() {
- return vDNS;
- }
-
- public void setvDNS(boolean vDNS) {
- this.vDNS = vDNS;
- }
-
- public boolean isTrinity() {
- return trinity;
- }
-
- public void setTrinity(boolean trinity) {
- this.trinity = trinity;
- }
-
- public boolean isvUSP() {
- return vUSP;
- }
-
- public void setvUSP(boolean vUSP) {
- this.vUSP = vUSP;
- }
-
- public boolean isMcr() {
- return mcr;
- }
-
- public void setMcr(boolean mcr) {
- this.mcr = mcr;
- }
-
- public boolean isGama() {
- return gama;
- }
-
- public void setGama(boolean gama) {
- this.gama = gama;
- }
-}
-
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopFaultTriggerUISignatures.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopFaultTriggerUISignatures.java
deleted file mode 100644
index 2330496fe..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopFaultTriggerUISignatures.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-
-public class ClosedLoopFaultTriggerUISignatures {
-
- private String signatures;
-
- private String connectSignatures;
-
- public String getConnectSignatures() {
- return connectSignatures;
- }
- public void setConnectSignatures(String connectSignatures) {
- this.connectSignatures = connectSignatures;
- }
- public String getSignatures() {
- return signatures;
- }
- public void setSignatures(String signatures) {
- this.signatures = signatures;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopPMBody.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopPMBody.java
deleted file mode 100644
index bbbf5508b..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopPMBody.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-import java.util.Map;
-
-public class ClosedLoopPMBody {
-
- private boolean trinity;
- private boolean vUSP;
- private boolean mcr;
- private boolean gama;
- private boolean vDNS;
- private String geoLink;
- private String vServices;
- private String ECOMPname;
-
- private String emailAddress;
-
- private String serviceTypePolicyName;
-
- private Map<String, String> attributes;
- private String templateVersion;
-
- public String getTemplateVersion() {
- return templateVersion;
- }
-
- public void setTemplateVersion(String templateVersion) {
- this.templateVersion = templateVersion;
- }
-
- public String getECOMPname(){
- return ECOMPname;
- }
-
- public void setECOMPname(String ECOMPname){
- this.ECOMPname = ECOMPname;
- }
-
- public String getvServices() {
- return vServices;
- }
-
- public void setvServices(String vServices) {
- this.vServices = vServices;
- }
-
- public Map<String, String> getAttributes() {
- return attributes;
- }
-
- public void setAttributes(Map<String, String> map) {
- this.attributes = map;
- }
-
- public String getGeoLink() {
- return geoLink;
- }
-
- public void setGeoLink(String geoLink) {
- this.geoLink = geoLink;
- }
-
- public String getEmailAddress() {
- return emailAddress;
- }
-
- public void setEmailAddress(String emailAddress) {
- this.emailAddress = emailAddress;
- }
-
- public String getServiceTypePolicyName() {
- return serviceTypePolicyName;
- }
-
- public void setServiceTypePolicyName(String serviceTypePolicyName) {
- this.serviceTypePolicyName = serviceTypePolicyName;
- }
-
- public boolean isGama() {
- return gama;
- }
- public void setGama(boolean gama) {
- this.gama = gama;
- }
- public boolean isvDNS() {
- return vDNS;
- }
- public void setvDNS(boolean vDNS) {
- this.vDNS = vDNS;
- }
-
- public boolean isTrinity() {
- return trinity;
- }
- public void setTrinity(boolean trinity) {
- this.trinity = trinity;
- }
- public boolean isvUSP() {
- return vUSP;
- }
- public void setvUSP(boolean vUSP) {
- this.vUSP = vUSP;
- }
- public boolean isMcr() {
- return mcr;
- }
- public void setMcr(boolean mcr) {
- this.mcr = mcr;
- }
-
-}
-
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopPerformanceMetrics.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopPerformanceMetrics.java
deleted file mode 100644
index 25d83169f..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopPerformanceMetrics.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-public class ClosedLoopPerformanceMetrics {
- public static final String CLPM_UIFIELD_ONSET_MESSAGE = "Onset Message";
- public static final String CLPM_UIJSON_ONSET_MESSAGE = "attributes.OnsetMessage";
-
- public static final String CLPM_UIFIELD_POLICY_NAME = "PolicyName";
- public static final String CLPM_UIJSON_POLICY_NAME = "attributes.PolicyName";
-
- public static final String CLPM_UIFIELD_ABATEMENT_MESSAGE = "Abatement Message";
- public static final String CLPM_UIJSON_ABATEMENT_MESSAGE = "attributes.AbatementMessage";
-
- public static final String CLPM_UIFIELD_GEOLINK = "Geo Link";
- public static final String CLPM_UIJSON_GEOLINK = "geoLink";
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopPolicy.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopPolicy.java
deleted file mode 100644
index 727c9cba8..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopPolicy.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-public class ClosedLoopPolicy {
- public static final String CLFAULT_UIFIELD_D2_SERVICES_TRINITY = "Hosted Voice (Trinity)";
- public static final String CLFAULT_UIJSON_D2_SERVICES_TRINITY = "trinity";
-
- public static final String CLFAULT_UIFIELD_D2_SERVICES_VUSP = "vUSP";
- public static final String CLFAULT_UIJSON_D2_SERVICES_VUSP = "vUSP";
-
- public static final String CLFAULT_UIFIELD_D2_SERVICES_MCR = "MCR";
- public static final String CLFAULT_UIJSON_D2_SERVICES_MCR = "mcr";
-
- public static final String CLFAULT_UIFIELD_D2_SERVICES_GAMMA = "Gamma";
- public static final String CLFAULT_UIJSON_D2_SERVICES_GAMMA = "gama";
-
- public static final String CLFAULT_UIFIELD_D2_SERVICES_VDNS = "vDNS";
- public static final String CLFAULT_UIJSON_D2_SERVICES_VDNS = "vDNS";
-
- public static final String CLFAULT_UIFIELD_EMAIL_ADDRESS = "Email Address";
- public static final String CLFAULT_UIJSON_EMAIL_ADDRESS = "emailAddress";
-
- public static final String CLFAULT_UIFIELD_TRIGGER_SIGNATURE = "Trigger Signature";
- public static final String CLFAULT_UIJSON_TRIGGER_SIGNATURE = "triggerSignaturesUsedForUI.signatures";
-
- public static final String CLFAULT_UIFIELD_VERIFICATION_SIGNATURE = "Verification Signature";
- public static final String CLFAULT_UIJSON_VERIFICATION_SIGNATURE = "verificationSignaturesUsedForUI.signatures";
-
- public static final String CLFAULT_UIFIELD_CONNECT_ALL_TRAPS = "Connect All Traps";
- public static final String CLFAULT_UIJSON_CONNECT_ALL_TRAPS = "triggerSignaturesUsedForUI.connectSignatures";
-
- public static final String CLFAULT_UIFIELD_CONNECT_ALL_FAULTS = "Connect All Faults";
- public static final String CLFAULT_UIJSON_CONNECT_ALL_FAULTS = "verificationSignaturesUsedForUI.connectSignatures";
-
- public static final String CLFAULT_UIFIELD_POLICY_STATUS_ACTIVE = "Active";
- public static final String CLFAULT_UIJSON_POLICY_STATUS_ACTIVE = "ACTIVE";
-
- public static final String CLFAULT_UIFIELD_POLICY_STATUS_INACTIVE = "InActive";
- public static final String CLFAULT_UIJSON_POLICY_STATUS_INACTIVE = "INACTIVE";
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopPolicyConditions.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopPolicyConditions.java
deleted file mode 100644
index cdae20e17..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopPolicyConditions.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-public enum ClosedLoopPolicyConditions {
- SEND("DCAE should send event notification"),
-
- NOTSEND("DCAE should not send event notification");
- private String name;
-
- private ClosedLoopPolicyConditions(String name){
- this.name = name;
- }
-
- @Override
- public String toString(){
- return this.name;
- }
-}
-
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopPolicyStatus.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopPolicyStatus.java
deleted file mode 100644
index 7ecd3b053..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopPolicyStatus.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-public enum ClosedLoopPolicyStatus {
- ACTIVE("active"),
-
- INACTIVE("inactive")
- ;
-
- private String name;
-
- private ClosedLoopPolicyStatus(String name){
- this.name = name;
- }
-
- @Override
- public String toString(){
- return this.name;
- }
-}
-
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopSignatures.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopSignatures.java
deleted file mode 100644
index 2eab27eea..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ClosedLoopSignatures.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-public class ClosedLoopSignatures {
-
- private String signatures;
-
- private int timeWindow;
-
- private Integer trapMaxAge;
-
- public String getSignatures() {
- return signatures;
- }
- public void setSignatures(String signatures) {
- this.signatures = signatures;
- }
-
- public Integer getTimeWindow() {
- return timeWindow;
- }
- public void setTimeWindow(Integer timeWindow) {
- this.timeWindow = timeWindow;
- }
-
- public Integer getTrapMaxAge() {
- return trapMaxAge;
- }
- public void setTrapMaxAge(Integer trapMaxAge) {
- this.trapMaxAge = trapMaxAge;
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/DeletePolicyCondition.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/DeletePolicyCondition.java
deleted file mode 100644
index 4698aa672..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/DeletePolicyCondition.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-public enum DeletePolicyCondition {
- ONE("Are you sure you want to delete Current Version of policy"),
-
- ALL("Are you sure you want to delete All Versions of policy");
- private String name;
-
- private DeletePolicyCondition(String name){
- this.name = name;
- }
-
- @Override
- public String toString(){
- return this.name;
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/DeployNowJson.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/DeployNowJson.java
deleted file mode 100644
index 635431559..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/DeployNowJson.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-public class DeployNowJson {
-
- protected boolean deployNow;
-
- // deployNow
- public boolean getDeployNow() {
- return deployNow;
- }
-
- public void setDeployNow(boolean value) {
- this.deployNow = value;
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/GridData.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/GridData.java
deleted file mode 100644
index dfb3e0024..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/GridData.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-import java.util.ArrayList;
-
-public class GridData {
- private ArrayList<Object> attributes;
- private ArrayList<Object> transportProtocols;
- private ArrayList<Object> appProtocols;
-
- public ArrayList<Object> getAttributes() {
- return attributes;
- }
-
- public void setAttributes(ArrayList<Object> attributes) {
- this.attributes = attributes;
- }
-
- public ArrayList<Object> getAppProtocols() {
- return appProtocols;
- }
-
- public void setAppProtocols(ArrayList<Object> appProtocols) {
- this.appProtocols = appProtocols;
- }
-
- public ArrayList<Object> getTransportProtocols() {
- return transportProtocols;
- }
-
- public void setTransportProtocols(ArrayList<Object> transportProtocols) {
- this.transportProtocols = transportProtocols;
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/PolicyAdapter.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/PolicyAdapter.java
deleted file mode 100644
index f9a0bd48e..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/PolicyAdapter.java
+++ /dev/null
@@ -1,619 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-import java.nio.file.Path;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.openecomp.policy.rest.jpa.EcompName;
-
-public class PolicyAdapter {
-
- private Object data;
- private String policyName = null;
- private Path parentPath;
- public boolean isEditPolicy = false;
- private boolean isViewPolicy = false;
- private Object policyData = null;
- private String comboPolicyType;
- private boolean readOnly;
-
- //adding new properties for REST interface call when creating Policies
- private String oldPolicyFileName = null;
- private String configType = null;
- private String policyID = null;
- private String policyType = null;
- private String configPolicyType = null;
- private String policyDescription = null;
- private String ecompName = null;
- private String configName = null;
- private String ruleID = null;
- private String ruleCombiningAlgId = null;
- private Map<String,String> dynamicFieldConfigAttributes;
- private Map<String,String> dropDownMap;
- private Map<String,String> dynamicSettingsMap;
- private Path gitPath;
- private String configBodyData = null;
- private boolean isValidData = false;
- private boolean draft = false;
- private String version = null;
- private String domain = null;
- private String filterName = null;
- private String comboConfigPolicyType;
- private String jsonBody = null;
- private Map<String,String> brmsParamBody=null;
- private Integer highestVersion;
- private String actionPerformer = null;
- private String actionAttribute = null;
- private List<String> dynamicRuleAlgorithmLabels;
- private List<String> dynamicRuleAlgorithmCombo;
- private List<String> dynamicRuleAlgorithmField1;
- private List<String> dynamicRuleAlgorithmField2;
- private List<Object> dynamicVariableList;
- private List<String> dataTypeList;
- private String actionBody = null;
- private String actionDictHeader = null;
- private String actionDictType = null;
- private String actionDictUrl = null;
- private String actionDictMethod = null;
- private String serviceType = null;
- private String uuid = null;
- private String location = null;
- private String priority = null;
- private String actionAttributeValue;
- private String ruleProvider;
-
- private EcompName ecompNameField;
- private Object jsonBodyData;
- private String dirPath;
- private String configBodyPath;
- private ArrayList<Object> attributes;
- private ArrayList<Object> settings;
- private ArrayList<Object> ruleAlgorithmschoices;
-
- private LinkedHashMap<?, ?> serviceTypePolicyName;
- private String ruleName;
- private LinkedHashMap<?, ?> ruleData;
- private LinkedHashMap<?,?> ruleListData;
- private String clearTimeOut;
- private String trapMaxAge;
- private String verificationclearTimeOut;
- private String fwPolicyType;
- private ArrayList<Object> fwattributes;
- private String parentForChild;
- public String getFwPolicyType() {
- return fwPolicyType;
- }
- public ArrayList<Object> getFwattributes() {
- return fwattributes;
- }
- public String getParentForChild() {
- return parentForChild;
- }
- public void setFwPolicyType(String fwPolicyType) {
- this.fwPolicyType = fwPolicyType;
- }
- public void setFwattributes(ArrayList<Object> fwattributes) {
- this.fwattributes = fwattributes;
- }
- public void setParentForChild(String parentForChild) {
- this.parentForChild = parentForChild;
- }
-
- private String riskLevel;
- private String riskType = null;
- private String guard = null;
- private String ttlDate = null;
-
- public String getClearTimeOut() {
- return clearTimeOut;
- }
- public void setClearTimeOut(String clearTimeOut) {
- this.clearTimeOut = clearTimeOut;
- }
- public String getTrapMaxAge() {
- return trapMaxAge;
- }
- public void setTrapMaxAge(String trapMaxAge) {
- this.trapMaxAge = trapMaxAge;
- }
- public String getVerificationclearTimeOut() {
- return verificationclearTimeOut;
- }
- public void setVerificationclearTimeOut(String verificationclearTimeOut) {
- this.verificationclearTimeOut = verificationclearTimeOut;
- }
- public LinkedHashMap<?, ?> getRuleListData() {
- return ruleListData;
- }
- public void setRuleListData(LinkedHashMap<?, ?> ruleListData) {
- this.ruleListData = ruleListData;
- }
- private ArrayList<Object> triggerSignatures;
- private ArrayList<Object> symptomSignatures;
- private String logicalConnector;
- private String policyStatus;
- public String gocServerScope;
- public Map<String , String> dynamicLayoutMap;
- private String securityZone;
-
- private String policyScope;
- private String supressionType;
-
-
-
- public String getSupressionType() {
- return supressionType;
- }
- public void setSupressionType(String supressionType) {
- this.supressionType = supressionType;
- }
- public Map<String, String> getDynamicLayoutMap() {
- return dynamicLayoutMap;
- }
- public void setDynamicLayoutMap(Map<String, String> dynamicLayoutMap) {
- this.dynamicLayoutMap = dynamicLayoutMap;
- }
- public String getGocServerScope() {
- return gocServerScope;
- }
- public void setGocServerScope(String gocServerScope) {
- this.gocServerScope = gocServerScope;
- }
- public Object getJsonBodyData() {
- return jsonBodyData;
- }
- public void setJsonBodyData(Object jsonBodyData) {
- this.jsonBodyData = jsonBodyData;
- }
- public EcompName getEcompNameField() {
- return ecompNameField;
- }
- public void setEcompNameField(EcompName ecompNameField) {
- this.ecompNameField = ecompNameField;
- }
- public Integer getHighestVersion() {
- return highestVersion;
- }
- public void setHighestVersion(Integer highestVersion) {
- this.highestVersion = highestVersion;
- }
- public String getConfigType() {
- return configType;
- }
- public void setConfigType(String configType) {
- this.configType = configType;
- }
- public String getPolicyID() {
- return policyID;
- }
- public void setPolicyID(String policyID) {
- this.policyID = policyID;
- }
- public String getPolicyType() {
- return policyType;
- }
- public void setPolicyType(String policyType) {
- this.policyType = policyType;
- }
- public String getPolicyDescription() {
- return policyDescription;
- }
- public void setPolicyDescription(String policyDescription) {
- this.policyDescription = policyDescription;
- }
- public String getEcompName() {
- return ecompName;
- }
- public void setEcompName(String ecompName) {
- this.ecompName = ecompName;
- }
- public String getConfigName() {
- return configName;
- }
- public void setConfigName(String configName) {
- this.configName = configName;
- }
- public String getRuleID() {
- return ruleID;
- }
- public void setRuleID(String ruleID) {
- this.ruleID = ruleID;
- }
- public String getRuleCombiningAlgId() {
- return ruleCombiningAlgId;
- }
- public void setRuleCombiningAlgId(String ruleCombiningAlgId) {
- this.ruleCombiningAlgId = ruleCombiningAlgId;
- }
- public Map<String, String> getDynamicFieldConfigAttributes() {
- return dynamicFieldConfigAttributes;
- }
- public void setDynamicFieldConfigAttributes(
- Map<String, String> dynamicFieldConfigAttributes) {
- this.dynamicFieldConfigAttributes = dynamicFieldConfigAttributes;
- }
- public Path getGitPath() {
- return gitPath;
- }
- public void setGitPath(Path gitPath) {
- this.gitPath = gitPath;
- }
- public Object getData() {
- return data;
- }
- public void setData(Object data) {
- this.data = data;
- }
- public String getPolicyName() {
- return policyName;
- }
- public void setPolicyName(String policyName) {
- this.policyName = policyName;
- }
- public Path getParentPath() {
- return parentPath;
- }
- public void setParentPath(Path parentPath) {
- this.parentPath = parentPath;
- }
- public boolean isEditPolicy() {
- return isEditPolicy;
- }
- public void setEditPolicy(boolean isEditPolicy) {
- this.isEditPolicy = isEditPolicy;
- }
- public boolean isViewPolicy() {
- return isViewPolicy;
- }
- public void setViewPolicy(boolean isViewPolicy) {
- this.isViewPolicy = isViewPolicy;
- }
- public Object getPolicyData() {
- return policyData;
- }
- public void setPolicyData(Object policyData) {
- this.policyData = policyData;
- }
- public String getComboPolicyType() {
- return comboPolicyType;
- }
- public void setComboPolicyType(String comboPolicyType) {
- this.comboPolicyType = comboPolicyType;
- }
- public boolean isReadOnly() {
- return readOnly;
- }
- public void setReadOnly(boolean readOnly) {
- this.readOnly = readOnly;
- }
- public String getConfigBodyData() {
- return configBodyData;
- }
- public void setConfigBodyData(String configBodyData) {
- this.configBodyData = configBodyData;
- }
- public boolean isValidData() {
- return isValidData;
- }
- public void setValidData(boolean isValidData) {
- this.isValidData = isValidData;
- }
- public String getVersion() {
- return version;
- }
- public void setVersion(String version) {
- this.version = version;
- }
- public String getDomainDir() {
- return domain;
- }
- public void setDomainDir(java.lang.String domain) {
- this.domain = domain;
-
- }
- public String getFilterName() {
- return filterName;
- }
- public void setFilterName(String filterName) {
- this.filterName = filterName;
- }
- public String getComboConfigPolicyType() {
- return comboConfigPolicyType;
- }
- public void setComboConfigPolicyType(String comboConfigPolicyType) {
- this.comboConfigPolicyType = comboConfigPolicyType;
- }
- public Map<String, String> getBRMSParamBody() {
- return brmsParamBody;
- }
- public void setBRMSParamBody(Map<String, String> brmsParamBody) {
- this.brmsParamBody = brmsParamBody;
- }
- public String getJsonBody() {
- return jsonBody;
- }
- public void setJsonBody(String jsonBody) {
- this.jsonBody = jsonBody;
- }
- public String getConfigPolicyType() {
- return configPolicyType;
- }
- public void setConfigPolicyType(String configPolicyType) {
- this.configPolicyType = configPolicyType;
- }
- public String getActionPerformer() {
- return actionPerformer;
- }
- public void setActionPerformer(String actionPerformer) {
- this.actionPerformer = actionPerformer;
- }
- public String getActionAttribute() {
- return actionAttribute;
- }
- public void setActionAttribute(String actionAttribute) {
- this.actionAttribute = actionAttribute;
- }
- public List<String> getDynamicRuleAlgorithmLabels() {
- return dynamicRuleAlgorithmLabels;
- }
- public void setDynamicRuleAlgorithmLabels(
- List<String> dynamicRuleAlgorithmLabels) {
- this.dynamicRuleAlgorithmLabels = dynamicRuleAlgorithmLabels;
- }
- public List<String> getDynamicRuleAlgorithmCombo() {
- return dynamicRuleAlgorithmCombo;
- }
- public void setDynamicRuleAlgorithmCombo(
- List<String> dynamicRuleAlgorithmCombo) {
- this.dynamicRuleAlgorithmCombo = dynamicRuleAlgorithmCombo;
- }
- public List<String> getDynamicRuleAlgorithmField1() {
- return dynamicRuleAlgorithmField1;
- }
- public void setDynamicRuleAlgorithmField1(
- List<String> dynamicRuleAlgorithmField1) {
- this.dynamicRuleAlgorithmField1 = dynamicRuleAlgorithmField1;
- }
- public List<String> getDynamicRuleAlgorithmField2() {
- return dynamicRuleAlgorithmField2;
- }
- public void setDynamicRuleAlgorithmField2(
- List<String> dynamicRuleAlgorithmField2) {
- this.dynamicRuleAlgorithmField2 = dynamicRuleAlgorithmField2;
- }
- public String getActionBody() {
- return actionBody;
- }
- public void setActionBody(String actionBody) {
- this.actionBody = actionBody;
- }
- public Map<String,String> getDropDownMap() {
- return dropDownMap;
- }
- public void setDropDownMap(Map<String,String> dropDownMap) {
- this.dropDownMap = dropDownMap;
- }
- public String getActionDictHeader() {
- return actionDictHeader;
- }
- public void setActionDictHeader(String actionDictHeader) {
- this.actionDictHeader = actionDictHeader;
- }
- public String getActionDictType() {
- return actionDictType;
- }
- public void setActionDictType(String actionDictType) {
- this.actionDictType = actionDictType;
- }
- public String getActionDictUrl() {
- return actionDictUrl;
- }
- public void setActionDictUrl(String actionDictUrl) {
- this.actionDictUrl = actionDictUrl;
- }
- public String getActionDictMethod() {
- return actionDictMethod;
- }
- public void setActionDictMethod(String actionDictMethod) {
- this.actionDictMethod = actionDictMethod;
- }
- public boolean isDraft() {
- return draft;
- }
- public void setDraft(boolean draft) {
- this.draft = draft;
- }
- public Map<String,String> getDynamicSettingsMap() {
- return dynamicSettingsMap;
- }
- public void setDynamicSettingsMap(Map<String,String> dynamicSettingsMap) {
- this.dynamicSettingsMap = dynamicSettingsMap;
- }
- public List<Object> getDynamicVariableList() {
- return dynamicVariableList;
- }
- public void setDynamicVariableList(List<Object> dynamicVariableList) {
- this.dynamicVariableList = dynamicVariableList;
- }
- public List<String> getDataTypeList() {
- return dataTypeList;
- }
- public void setDataTypeList(List<String> dataTypeList) {
- this.dataTypeList = dataTypeList;
- }
- public String getOldPolicyFileName() {
- return oldPolicyFileName;
- }
- public void setOldPolicyFileName(String oldPolicyFileName) {
- this.oldPolicyFileName = oldPolicyFileName;
- }
- public String getServiceType() {
- return serviceType;
- }
- public void setServiceType(String serviceType) {
- this.serviceType = serviceType;
- }
- public String getUuid() {
- return uuid;
- }
- public void setUuid(String uuid) {
- this.uuid = uuid;
- }
- public String getLocation() {
- return location;
- }
- public void setLocation(String location) {
- this.location = location;
- }
- public String getPriority() {
- return priority;
- }
- public void setPriority(String priority) {
- this.priority = priority;
- }
- public String getDirPath() {
- return dirPath;
- }
- public void setDirPath(String dirPath) {
- this.dirPath = dirPath;
- }
- public String getConfigBodyPath() {
- return configBodyPath;
- }
- public void setConfigBodyPath(String configBodyPath) {
- this.configBodyPath = configBodyPath;
- }
- public ArrayList<Object> getAttributes() {
- return attributes;
- }
-
- @SuppressWarnings("unchecked")
- public void setAttributes(Object attributes) {
- this.attributes = (ArrayList<Object>) attributes;
- }
- public LinkedHashMap<?, ?> getServiceTypePolicyName() {
- return serviceTypePolicyName;
- }
- public void setServiceTypePolicyName(LinkedHashMap<?, ?> serviceTypePolicyName) {
- this.serviceTypePolicyName = (LinkedHashMap<?, ?>) serviceTypePolicyName;
- }
- public ArrayList<Object> getSettings() {
- return settings;
- }
- public void setSettings(ArrayList<Object> settings) {
- this.settings = settings;
- }
- public String getRuleName() {
- return ruleName;
- }
- public void setRuleName(String ruleName) {
- this.ruleName = ruleName;
- }
- public LinkedHashMap<?, ?> getRuleData() {
- return ruleData;
- }
- public void setRuleData(LinkedHashMap<?, ?> ruleData) {
- this.ruleData = ruleData;
- }
- public ArrayList<Object> getTriggerSignatures() {
- return triggerSignatures;
- }
- public void setTriggerSignatures(ArrayList<Object> triggerSignatures) {
- this.triggerSignatures = triggerSignatures;
- }
- public String getLogicalConnector() {
- return logicalConnector;
- }
- public void setLogicalConnector(String logicalConnector) {
- this.logicalConnector = logicalConnector;
- }
- public String getPolicyStatus() {
- return policyStatus;
- }
- public void setPolicyStatus(String policyStatus) {
- this.policyStatus = policyStatus;
- }
- public String getActionAttributeValue() {
- return actionAttributeValue;
- }
- public void setActionAttributeValue(String actionAttributeValue) {
- this.actionAttributeValue = actionAttributeValue;
- }
- public ArrayList<Object> getRuleAlgorithmschoices() {
- return ruleAlgorithmschoices;
- }
- public void setRuleAlgorithmschoices(ArrayList<Object> ruleAlgorithmschoices) {
- this.ruleAlgorithmschoices = ruleAlgorithmschoices;
- }
- public String getSecurityZone() {
- return securityZone;
- }
- public void setSecurityZone(String securityZone) {
- this.securityZone = securityZone;
- }
- public ArrayList<Object> getSymptomSignatures() {
- return symptomSignatures;
- }
- public void setSymptomSignatures(ArrayList<Object> symptomSignatures) {
- this.symptomSignatures = symptomSignatures;
- }
- public String getPolicyScope() {
- return policyScope;
- }
- public void setPolicyScope(String policyScope) {
- this.policyScope = policyScope;
- }
- public String getRuleProvider() {
- return ruleProvider;
- }
- public void setRuleProvider(String ruleProvider) {
- this.ruleProvider = ruleProvider;
- }
- public String getRiskLevel() {
- return riskLevel;
- }
- public void setRiskLevel(String riskLevel) {
- this.riskLevel = riskLevel;
- }
- public String getRiskType() {
- return riskType;
- }
- public void setRiskType(String riskType) {
- this.riskType = riskType;
- }
- public String getGuard() {
- return guard;
- }
- public void setGuard(String guard) {
- this.guard = guard;
- }
- public String getTtlDate() {
- return ttlDate;
- }
- public void setTtlDate(String ttlDate) {
- this.ttlDate = ttlDate;
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/PolicyExportAdapter.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/PolicyExportAdapter.java
deleted file mode 100644
index 37ed83d16..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/PolicyExportAdapter.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-import java.util.ArrayList;
-
-public class PolicyExportAdapter {
-
- private ArrayList<Object> policyDatas;
-
- public ArrayList<Object> getPolicyDatas() {
- return policyDatas;
- }
- public void setPolicyDatas(ArrayList<Object> policyDatas) {
- this.policyDatas = policyDatas;
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/PrefixIPList.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/PrefixIPList.java
deleted file mode 100644
index e2c70e69f..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/PrefixIPList.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-
-public class PrefixIPList {
- protected String name;
- protected String description;
- protected List<AddressMembers> members;
- /* protected String type;
- protected String value;*/
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- public List<AddressMembers> getMembers()
- {
- if(members==null)
- {
- members= new ArrayList<AddressMembers>();
- }
- return this.members;
- }
-
- public void setMembers(List<AddressMembers> members)
- {
- this.members = members;
- }
- /*public String getValue() {
- return value;
- }
-
-
- public void setValue(String value) {
- this.value = value;
- }*/
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ServiceGroupJson.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ServiceGroupJson.java
deleted file mode 100644
index 1cc34fbb4..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ServiceGroupJson.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class ServiceGroupJson {
-
- protected String name;
- protected String description;
- protected List<ServiceMembers> members;
-
- // name
- public String getName() {
- return name;
- }
-
- public void setName(String value) {
- this.name = value;
- }
-
- public boolean equals(Object obj)
- {
- ServiceGroupJson servGroupobj=(ServiceGroupJson) obj;
- if(this.getName().equals(servGroupobj.getName()))
- {
- return true;
- }
- return false;
- }
-
- public int hashCode() {
- return Integer.valueOf(name.charAt(0)+(name.charAt(1)));
- }
-
- // description
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String value) {
- this.description = value;
- }
-
- public List<ServiceMembers> getMembers()
- {
- if(members==null)
- {
- members= new ArrayList<ServiceMembers>();
- }
- return this.members;
- }
-
- public void setMembers(List<ServiceMembers> members)
- {
- this.members = members;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ServiceListJson.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ServiceListJson.java
deleted file mode 100644
index 05df303b9..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ServiceListJson.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-
-public class ServiceListJson {
-
- protected String name;
- protected String description;
- protected String type;
- protected String transportProtocol;
- protected String appProtocol;
- protected String ports;
- // name
- public String getName() {
- return name;
- }
-
- public void setName(String value) {
- this.name = value;
- }
-
- public boolean equals(Object obj)
- {
- ServiceListJson servobj=(ServiceListJson) obj;
- if(this.getName().equals(servobj.getName()))
- {
- return true;
- }
- return false;
- }
-
- public int hashCode() {
- if(name!=null){
- return Integer.valueOf(name.charAt(0)+(name.charAt(1)));
- }else{
- return 0;
- }
- }
-
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
- // type
- public String getType() {
- return type;
- }
-
- public void setType(String value) {
- this.type = value;
- }
-
- // transportProtocol
- public String getTransportProtocol() {
- return transportProtocol;
- }
-
- public void setTransportProtocol(String value) {
- this.transportProtocol = value;
- }
-
- // appProtocol
- public String getAppProtocol() {
- return appProtocol;
- }
-
- public void setAppProtocol(String value) {
- this.appProtocol = value;
- }
-
- // ports
- public String getPorts() {
- return ports;
- }
-
- public void setPorts(String value) {
- this.ports = value;
- }
-
-
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ServiceMembers.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ServiceMembers.java
deleted file mode 100644
index a8b1abea5..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ServiceMembers.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-
-public class ServiceMembers {
-
- protected String type;
- protected String name;
-
- // type
- public String getType() {
- return type;
- }
-
- public void setType(String value) {
- this.type = value;
- }
-
- // transportProtocol
- public String getName() {
- return name;
- }
-
- public void setName(String value) {
- this.name = value;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ServicesJson.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ServicesJson.java
deleted file mode 100644
index bdc9232b5..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/ServicesJson.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-public class ServicesJson {
-
- protected String type;
- protected String name;
- // type
- public String getType() {
- return type;
- }
-
- public void setType(String type) {
- this.type = type;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String value) {
- this.name = value;
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/Term.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/Term.java
deleted file mode 100644
index 3080f2707..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/Term.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-
-public class Term {
-
- String position;
- protected String ruleName;
- protected List<String> fromZones;
- protected List<String> toZones;
- protected boolean negateSource; //hardcoded
- protected boolean negateDestination; //hardcoded
- protected List<AddressJson> sourceList;
- protected List<AddressJson> destinationList;
- protected List<ServicesJson> sourceServices;
- protected Set<ServicesJson> destServices;
- protected String action;
- protected String description;
- boolean enabled; //hardcoded
- boolean log; //hardcoded
-
- //position
- public String getPosition() {
- return position;
- }
-
- public void setPosition(String value) {
- this.position = value;
- }
-
- //RuleName
- public String getRuleName() {
- return ruleName;
- }
-
- public void setRuleName(String value) {
- this.ruleName = value;
- }
-
- //From Zone
- public List<String> getFromZones() {
- if (fromZones==null)
- {
- fromZones= new ArrayList<String>();
- }
- return fromZones;
- }
-
- public void setFromZones(List<String> fromZones) {
- this.fromZones = fromZones;
- }
-
- //To Zone
- public List<String> getToZones() {
- if (toZones==null)
- {
- toZones= new ArrayList<String>();
- }
- return toZones;
- }
-
- public void setToZones(List<String> toZones) {
- this.toZones = toZones;
- }
-
-
- //Negate Source
- public boolean getNegateSource() {
- return negateSource;
- }
-
- public void setNegateSource(boolean negateSource) {
- this.negateSource = negateSource;
- }
-
- //Negate Destination
- public boolean getNegateDestination() {
- return negateDestination;
- }
-
- public void setNegateDestination(boolean negateDestination) {
- this.negateDestination = negateDestination;
- }
-
- //SourceList
- public List<AddressJson> getSourceList()
- {
- if(sourceList==null)
- {
- sourceList= new ArrayList<AddressJson>();
- }
- return this.sourceList;
- }
-
- public void setSourceList(List<AddressJson> srcList) {
- this.sourceList = srcList;
- }
-
- //Destination List
- public List<AddressJson> getDestinationList()
- {
- if(destinationList==null)
- {
- destinationList= new ArrayList<AddressJson>();
- }
- return this.destinationList;
- }
-
- public void setDestinationList(List<AddressJson> destList) {
- this.destinationList = destList;
- }
-
- //Source Services
- public List<ServicesJson> getSourceServices() {
- if(sourceServices==null)
- {
- sourceServices= new ArrayList<ServicesJson>();
- }
- return this.sourceServices;
- }
-
- public void setSourceServices(List<ServicesJson> sourceServices) {
- this.sourceServices = sourceServices;
- }
-
- //Destination services.
- public Set<ServicesJson> getDestServices() {
- if(destServices==null)
- {
- destServices= new HashSet<ServicesJson>();
- }
- return this.destServices;
- }
-
- public void setDestServices(Set<ServicesJson> destServices) {
- this.destServices = destServices;
- }
-
- //Action
- public String getAction() {
- return action;
- }
-
- public void setAction(String value) {
- this.action = value;
- }
-
- //description
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String desc) {
- this.description = desc;
- }
-
- //enabled
- public boolean getEnabled() {
- return enabled;
- }
-
- public void setEnabled(boolean value) {
- this.enabled = value;
- }
-
- //Log
- public boolean getLog() {
- return log;
- }
-
- public void setLog(boolean value) {
- this.log = value;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/TermCollector.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/TermCollector.java
deleted file mode 100644
index 169ab3637..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/adapter/TermCollector.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.adapter;
-
-
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-
-public class TermCollector {
- String serviceTypeId;
- String configName;
- DeployNowJson deploymentOption;
- String securityZoneId;
-
- protected Set<Object> serviceGroups;
- protected Set<Object> addressGroups;
- protected List<Term> firewallRuleList;
-
- private String primaryParentZoneId;
-
-
- //SecurityTypeId
- public String getServiceTypeId() {
- return serviceTypeId;
- }
-
- public void setServiceTypeId(String serviceTypeId) {
- this.serviceTypeId = serviceTypeId;
- }
-
- //ConfigName
- public String getConfigName() {
- return configName;
- }
-
- public void setConfigName(String configName) {
- this.configName = configName;
- }
-
- //DeploymentControl
- public DeployNowJson getDeploymentOption() {
- return deploymentOption;
- }
-
- public void setDeploymentOption(DeployNowJson deploymentOption) {
- this.deploymentOption = deploymentOption;
- }
-
- //SecurityZoneId
- public String getSecurityZoneId() {
- return securityZoneId;
- }
- public void setSecurityZoneId(String securityZoneId) {
- this.securityZoneId = securityZoneId;
- }
-
-
- //ServiceGroup
- public Set<Object> getServiceGroups() {
- if(serviceGroups==null)
- {
- serviceGroups= new HashSet<Object>();
- }
- return this.serviceGroups;
- }
-
- public void setServiceGroups(Set<Object> servListArray) {
- this.serviceGroups = servListArray;
- }
-
- //AddressGroup
- public Set<Object> getAddressGroups() {
- if(addressGroups==null)
- {
- addressGroups= new HashSet<Object>();
- }
- return this.addressGroups;
- }
-
- public void setAddressGroups(Set<Object> addressGroups) {
- this.addressGroups = addressGroups;
- }
-
- //FirewallRuleList
- public List<Term> getFirewallRuleList() {
-
- if(firewallRuleList==null)
- {
- firewallRuleList= new ArrayList<Term>();
- }
- return this.firewallRuleList;
- }
-
- public void setFirewallRuleList(List<Term> firewallRuleList) {
- this.firewallRuleList = firewallRuleList;
- }
-
-
- //primaryParentZoneId
- public String getPrimaryParentZoneId() {
- return primaryParentZoneId;
- }
-
- public void setPrimaryParentZoneId(String primaryParentZoneId) {
- this.primaryParentZoneId = primaryParentZoneId;
- }
-
-
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/CheckPDP.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/CheckPDP.java
deleted file mode 100644
index f1447f135..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/CheckPDP.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.admin;
-
-
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Base64;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Properties;
-
-import org.openecomp.policy.rest.XACMLRestProperties;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import com.att.research.xacml.util.XACMLProperties;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-public class CheckPDP {
- private static Path pdpPath = null;
- private static Properties pdpProp = null;
- private static Long oldModified = null;
- private static Long newModified = null;
- private static HashMap<String, String> pdpMap = null;
- private static final Logger logger = FlexLogger.getLogger(CheckPDP.class);
-
- public static boolean validateID(String id) {
- // ReadFile
- try {
- readFile();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + e);
- return false;
- }
- // Check ID
- if (pdpMap.containsKey(id)) {
- return true;
- }
- return false;
- }
-
- private static void readFile() throws Exception {
- String pdpFile = null;
- try{
- pdpFile = XACMLProperties.getProperty(XACMLRestProperties.PROP_PDP_IDFILE);
- }catch (Exception e){
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE + "Cannot read the PDP ID File");
- return;
- }
- if (pdpFile == null) {
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + "PDP File name not Valid : " + pdpFile);
- throw new Exception(XACMLErrorConstants.ERROR_SYSTEM_ERROR +"PDP File name not Valid : " + pdpFile);
- }
- if (pdpPath == null) {
- pdpPath = Paths.get(pdpFile);
- if (Files.notExists(pdpPath)) {
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + "File doesn't exist in the specified Path : " + pdpPath.toString());
- throw new Exception(XACMLErrorConstants.ERROR_SYSTEM_ERROR +"File doesn't exist in the specified Path : "+ pdpPath.toString());
- }
- if (pdpPath.toString().endsWith(".properties")) {
- readProps();
- } else {
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + "Not a .properties file " + pdpFile);
- throw new Exception(XACMLErrorConstants.ERROR_SYSTEM_ERROR +"Not a .properties file");
- }
- }
- // Check if File is updated recently
- else {
- newModified = pdpPath.toFile().lastModified();
- if (newModified != oldModified) {
- // File has been updated.
- readProps();
- }
- }
- }
-
- @SuppressWarnings({ "unchecked", "rawtypes" })
- private static void readProps() throws Exception {
- InputStream in;
- pdpProp = new Properties();
- try {
- in = new FileInputStream(pdpPath.toFile());
- oldModified = pdpPath.toFile().lastModified();
- pdpProp.load(in);
- } catch (IOException e) {
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + e);
- throw new Exception("Cannot Load the Properties file", e);
- }
- // Read the Properties and Load the PDPs and encoding.
- pdpMap = new HashMap<String, String>();
- // Check the Keys for PDP_URLs
- Collection<Object> unsorted = pdpProp.keySet();
- List<String> sorted = new ArrayList(unsorted);
- Collections.sort(sorted);
- for (String propKey : sorted) {
- if (propKey.startsWith("PDP_URL")) {
- String check_val = pdpProp.getProperty(propKey);
- if (check_val == null) {
- throw new Exception("Properties file doesn't have the PDP_URL parameter");
- }
- if (check_val.contains(";")) {
- List<String> pdp_default = new ArrayList<String>(Arrays.asList(check_val.split("\\s*;\\s*")));
- int pdpCount = 0;
- while (pdpCount < pdp_default.size()) {
- String pdpVal = pdp_default.get(pdpCount);
- readPDPParam(pdpVal);
- pdpCount++;
- }
- } else {
- readPDPParam(check_val);
- }
- }
- }
- if (pdpMap == null || pdpMap.isEmpty()) {
- logger.debug(XACMLErrorConstants.ERROR_SYSTEM_ERROR + "Cannot Proceed without PDP_URLs");
- throw new Exception(XACMLErrorConstants.ERROR_SYSTEM_ERROR +"Cannot Proceed without PDP_URLs");
- }
- }
-
- private static void readPDPParam(String pdpVal) throws Exception{
- if(pdpVal.contains(",")){
- List<String> pdpValues = new ArrayList<String>(Arrays.asList(pdpVal.split("\\s*,\\s*")));
- if(pdpValues.size()==3){
- // 1:2 will be UserID:Password
- String userID = pdpValues.get(1);
- String pass = pdpValues.get(2);
- Base64.Encoder encoder = Base64.getEncoder();
- // 0 - PDPURL
- pdpMap.put(pdpValues.get(0), encoder.encodeToString((userID+":"+pass).getBytes(StandardCharsets.UTF_8)));
- }else{
- logger.error(XACMLErrorConstants.ERROR_PERMISSIONS + "No Credentials to send Request: " + pdpValues);
- throw new Exception(XACMLErrorConstants.ERROR_PERMISSIONS + "No enough Credentials to send Request. " + pdpValues);
- }
- }else{
- logger.error(XACMLErrorConstants.ERROR_PERMISSIONS + "No Credentials to send Request: " + pdpVal);
- throw new Exception(XACMLErrorConstants.ERROR_PERMISSIONS +"No enough Credentials to send Request.");
- }
- }
-
- public static String getEncoding(String pdpID){
- try {
- readFile();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + e);
- }
- String encoding = null;
- if(pdpMap!=null && (!pdpMap.isEmpty())){
- try{
- encoding = pdpMap.get(pdpID);
- } catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + e);
- }
- return encoding;
- }else{
- return null;
- }
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/PAPNotificationBroadcaster.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/PAPNotificationBroadcaster.java
deleted file mode 100644
index cff0828e2..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/PAPNotificationBroadcaster.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.admin;
-
-
-import java.io.Serializable;
-import java.util.LinkedList;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-/**
- * Handle Notifications from the PAP that the PDP Groups have been changed.
- * We need a Server Push Broadcaster because there may be multiple Vaadin instances (i.e. Users) that need to be told when a change occurs.
- *
- * Initially we only update the entire set of PDPGroups in one shot.
- *
- * (Code copied from Book of Vaadin chapter on Server Push
- *
- */
-public class PAPNotificationBroadcaster implements Serializable {
- /**
- *
- */
- private static final long serialVersionUID = -2539940306348821754L;
-
-
- private static Logger logger = FlexLogger.getLogger(PAPNotificationBroadcaster.class);
-
-
- static ExecutorService executorService = Executors.newSingleThreadExecutor();
-
- /**
- * Interface used by all classes that need to be notified when PAP sends an update message.
- *
- *
- */
- public interface PAPNotificationBroadcastListener {
- void updateAllGroups();
- }
-
-
-
- /*
- * list of registered listeners
- */
- private static LinkedList<PAPNotificationBroadcastListener> listeners =
- new LinkedList<PAPNotificationBroadcastListener>();
-
- /**
- * Listener registers to hear about updates.
- * @param listener
- */
- public static synchronized void register(
- PAPNotificationBroadcastListener listener) {
- listeners.add(listener);
- }
-
-
- /**
- * Listener is going away.
- *
- * @param listener
- */
- public static synchronized void unregister(
- PAPNotificationBroadcastListener listener) {
- listeners.remove(listener);
- }
-
-
-
- /**
- * Tell all listeners about an update.
- *
- * @param message
- */
- public static synchronized void updateAllGroups() {
- for (final PAPNotificationBroadcastListener listener: listeners) {
- // Original code copied from example:
- // executorService.execute(new Runnable() {
- // @Override
- // public void run() {
- // The problem with this is that the execute starts a new Thread, but the thing we are calling (the listener.updateAllGroups)
- // happens in this case to ALSO create a new thread, and it locks up because the shared threadpool queue is already locked by this method.
- // On application shutdown that left us with a blocked thread, so the process never goes away.
- // Since the listener.updateAllGroups does ALL of its work inside a new Runnable thread, there should be no need for this method to also create a thread.
-
- /*
- * IMPORTANT:
- * All listeners MUST either execute with no possibility of blocking
- * OR must start their own threads to handle blocking and concurrent operations.
- */
- if (logger.isDebugEnabled()) {
- logger.debug("updateAllGroups");
- }
- listener.updateAllGroups();
- }
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/PolicyManagerServlet.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/PolicyManagerServlet.java
deleted file mode 100644
index e355b8295..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/PolicyManagerServlet.java
+++ /dev/null
@@ -1,1334 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.admin;
-
-
-import java.io.BufferedOutputStream;
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileFilter;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.PrintWriter;
-import java.nio.file.DirectoryStream;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.nio.file.attribute.BasicFileAttributes;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.commons.compress.utils.IOUtils;
-import org.apache.commons.fileupload.FileItem;
-import org.apache.commons.fileupload.disk.DiskFileItemFactory;
-import org.apache.commons.fileupload.servlet.ServletFileUpload;
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.FilenameUtils;
-import org.apache.commons.io.filefilter.WildcardFileFilter;
-import org.apache.http.HttpStatus;
-import org.json.JSONException;
-import org.json.JSONObject;
-import org.openecomp.policy.adapter.PolicyAdapter;
-import org.openecomp.policy.components.HumanPolicyComponent;
-import org.openecomp.policy.controller.ActionPolicyController;
-import org.openecomp.policy.controller.CreateBRMSParamController;
-import org.openecomp.policy.controller.CreateBRMSRawController;
-import org.openecomp.policy.controller.CreateClosedLoopFaultController;
-import org.openecomp.policy.controller.CreateClosedLoopPMController;
-import org.openecomp.policy.controller.CreateDcaeMicroServiceController;
-import org.openecomp.policy.controller.CreateFirewallController;
-import org.openecomp.policy.controller.CreatePolicyController;
-import org.openecomp.policy.controller.DecisionPolicyController;
-import org.openecomp.policy.controller.PolicyController;
-import org.openecomp.policy.controller.PolicyExportAndImportController;
-import org.openecomp.policy.elk.client.ElkConnector;
-import org.openecomp.policy.model.Roles;
-import org.openecomp.policy.rest.jpa.PolicyEditorScopes;
-import org.openecomp.policy.rest.jpa.PolicyVersion;
-import org.openecomp.policy.rest.jpa.UserInfo;
-import org.openecomp.policy.utils.XACMLPolicyWriterWithPapNotify;
-import org.openecomp.portalsdk.core.web.support.UserUtils;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import org.openecomp.policy.xacml.util.XACMLPolicyScanner;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-public class PolicyManagerServlet extends HttpServlet {
- private static final Logger LOG = FlexLogger.getLogger(PolicyManagerServlet.class);
- private static final long serialVersionUID = -8453502699403909016L;
-
- private enum Mode {
- LIST, RENAME, COPY, DELETE, EDITFILE, ADDFOLDER, DESCRIBEPOLICYFILE, VIEWPOLICY, ADDSUBSCOPE, SWITCHVERSION, EXPORT
- }
-
- public static final String REPOSITORY_BASE_PATH = PolicyController.getGitPath().toString();
- private static String DATE_FORMAT = "yyyy-MM-dd hh:mm:ss";
- public static final String CONFIG_HOME = PolicyController.getConfigHome();
- public static final String ACTION_HOME = PolicyController.getActionHome();
- private static String CONTENTTYPE = "application/json";
- private File repofilePath;
- private static String SUPERADMIN = "super-admin";
- private static String SUPEREDITOR = "super-editor";
- private static String SUPERGUEST = "super-guest";
- private static String ADMIN = "admin";
- private static String EDITOR = "editor";
- private static String GUEST = "guest";
- private static String RESULT = "result";
- private static String REPOSITORY = "repository";
-
- private static String CONFIG = "Config_";
- private static String ACTION = "Action_";
- private static String DECISION = "Decision_";
-
- @Override
- public void init() throws ServletException {
- super.init();
- }
-
- @Override
- public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- String path = request.getParameter("path");
- File file = new File(REPOSITORY_BASE_PATH, path);
-
- if (!file.isFile()) {
- // if not a file, it is a folder, show this error.
- response.sendError(HttpServletResponse.SC_NOT_FOUND, "Resource Not Found");
- return;
- }
-
- response.setHeader("Content-Type", getServletContext().getMimeType(file.getName()));
- response.setHeader("Content-Length", String.valueOf(file.length()));
- response.setHeader("Content-Disposition", "inline; filename=\"" + file.getName() + "\"");
-
- FileInputStream input = null;
- BufferedOutputStream output = null;
- try {
- input = new FileInputStream(file);
- output = new BufferedOutputStream(response.getOutputStream());
- byte[] buffer = new byte[8192];
- for (int length = 0; (length = input.read(buffer)) > 0;) {
- output.write(buffer, 0, length);
- }
- } catch (Exception e) {
- LOG.error(XACMLErrorConstants.ERROR_DATA_ISSUE + "Exception Occured While Reading Imput Stream" + e);
- } finally {
- if (output != null) {
- try {
- output.close();
- } catch (Exception e) {
- LOG.error(XACMLErrorConstants.ERROR_DATA_ISSUE + "Exception Occured While Closing Output Stream" + e);
- }
- }
- if (input != null) {
- try {
- input.close();
- } catch (Exception e) {
- LOG.error(XACMLErrorConstants.ERROR_DATA_ISSUE + "Exception Occured While Closing Input Stream" + e);
- }
- }
- }
-
- }
-
- @Override
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- LOG.debug("doPost");
- try {
- // if request contains multipart-form-data
- if (ServletFileUpload.isMultipartContent(request)) {
- uploadFile(request, response);
- }
- // all other post request has json params in body
- else {
- fileOperation(request, response);
- }
- } catch (Exception e) {
- setError(e, response);
- }
- }
-
- //Set Error Message for Exception
- private void setError(Exception t, HttpServletResponse response) throws IOException {
- try {
- JSONObject responseJsonObject = error(t.getMessage());
- response.setContentType(CONTENTTYPE);
- PrintWriter out = response.getWriter();
- out.print(responseJsonObject);
- out.flush();
- } catch (Exception x) {
- response.sendError(HttpStatus.SC_INTERNAL_SERVER_ERROR, x.getMessage());
- }
- }
-
- //Policy Import Functionality
- private void uploadFile(HttpServletRequest request, HttpServletResponse response) throws ServletException {
- try {
- String newFile;
- Map<String, InputStream> files = new HashMap<String, InputStream>();
-
- List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
- for (FileItem item : items) {
- if (!item.isFormField()) {
- // Process form file field (input type="file").
- files.put(item.getName(), item.getInputStream());
- if(item.getName().endsWith(".tar")){
- try{
- File file = new File(item.getName());
- OutputStream outputStream = new FileOutputStream(file);
- IOUtils.copy(item.getInputStream(), outputStream);
- outputStream.close();
- newFile = file.toString();
- PolicyExportAndImportController importController = new PolicyExportAndImportController();
- importController.ImportRepositoryFile(newFile, request);
- }catch(Exception e){
- LOG.error("Upload error : " + e);
- }
- }
- }
- }
-
- JSONObject responseJsonObject = null;
- responseJsonObject = this.success();
- response.setContentType("application/json");
- PrintWriter out = response.getWriter();
- out.print(responseJsonObject);
- out.flush();
- } catch (Exception e) {
- LOG.debug("Cannot write file");
- throw new ServletException("Cannot write file", e);
- }
- }
-
- //File Operation Functionality
- private void fileOperation(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- JSONObject responseJsonObject = null;
- try {
- StringBuilder sb = new StringBuilder();
- BufferedReader br = request.getReader();
- String str;
- while ((str = br.readLine()) != null) {
- sb.append(str);
- }
- br.close();
- JSONObject jObj = new JSONObject(sb.toString());
- JSONObject params = jObj.getJSONObject("params");
- Mode mode = Mode.valueOf(params.getString("mode"));
- switch (mode) {
- case ADDFOLDER:
- responseJsonObject = addFolder(params, request);
- break;
- case COPY:
- responseJsonObject = copy(params, request);
- break;
- case DELETE:
- responseJsonObject = delete(params, request);
- break;
- case EDITFILE:
- responseJsonObject = editFile(params);
- break;
- case VIEWPOLICY:
- responseJsonObject = editFile(params);
- break;
- case LIST:
- responseJsonObject = list(params, request);
- break;
- case RENAME:
- responseJsonObject = rename(params, request);
- break;
- case DESCRIBEPOLICYFILE:
- responseJsonObject = describePolicy(params);
- break;
- case ADDSUBSCOPE:
- responseJsonObject = addFolder(params, request);
- break;
- case SWITCHVERSION:
- responseJsonObject = switchVersion(params, request);
- break;
- default:
- throw new ServletException("not implemented");
- }
- if (responseJsonObject == null) {
- responseJsonObject = error("generic error : responseJsonObject is null");
- }
- } catch (Exception e) {
- LOG.error(XACMLErrorConstants.ERROR_DATA_ISSUE + "Exception Occured While doing File Operation" + e);
- responseJsonObject = error(e.getMessage());
- }
- response.setContentType("application/json");
- PrintWriter out = response.getWriter();
- out.print(responseJsonObject);
- out.flush();
- }
-
- //Switch Version Functionality
- private JSONObject switchVersion(JSONObject params, HttpServletRequest request) throws ServletException{
- String path = params.getString("path");
- String userId = null;
- try {
- userId = UserUtils.getUserIdFromCookie(request);
- } catch (Exception e) {
- LOG.error("Exception Occured while reading userid from cookie" +e);
- }
- if(params.toString().contains("activeVersion")){
- String activeVersion = params.getString("activeVersion");
- String highestVersion = params.getString("highestVersion");
- if(Integer.parseInt(activeVersion) > Integer.parseInt(highestVersion)){
- return error("The Version shouldn't be greater than Highest Value");
- }else{
- String removeExtension = path.replace(".xml", "");
- String policyName = removeExtension.substring(0, removeExtension.lastIndexOf("."));
- String activePolicy = policyName + "." + activeVersion + ".xml";
- File file = new File(Paths.get(REPOSITORY_BASE_PATH, activePolicy).toString());
- if(!file.exists()){
- return error("The Policy is Not Existing in Workspace");
- }else{
- if(policyName.contains("/")){
- policyName = policyName.replace("/", File.separator);
- }
- policyName = policyName.substring(policyName.indexOf(File.separator)+1);
- if(policyName.contains("\\")){
- policyName = policyName.replace(File.separator, "\\");
- }
- String query = "update PolicyVersion set active_version='"+activeVersion+"' where policy_name ='" +policyName+"' and id >0";
- //query the database
- PolicyController.updatePolicyVersion(query);
- //Policy Notification
- PolicyController controller = new PolicyController();
- PolicyVersion entity = new PolicyVersion();
- entity.setPolicyName(policyName);
- entity.setActiveVersion(Integer.parseInt(activeVersion));
- entity.setModifiedBy(userId);
- controller.WatchPolicyFunction(entity, policyName, "SwitchVersion");
- }
- }
- }
- File policyFile = new File(REPOSITORY_BASE_PATH, path);
- PolicyController policyController = new PolicyController();
- return policyController.SwitchVersionPolicyContent(policyFile);
- }
-
- //Describe Policy
- private JSONObject describePolicy(JSONObject params){
- String path = params.getString("path");
- File policyFile = new File(REPOSITORY_BASE_PATH, path);
-
- return HumanPolicyComponent.DescribePolicy(policyFile);
- }
-
- //Get the List of Policies and Scopes for Showing in Editor tab
- private JSONObject list(JSONObject params, HttpServletRequest request) throws ServletException {
- Set<String> scopes = null;
- List<String> roles = null;
- try {
- //Get the Login Id of the User from Request
- String userId = UserUtils.getUserIdFromCookie(request);
- //Check if the Role and Scope Size are Null get the values from db.
- List<Roles> userRoles = PolicyController.getRoles(userId);
- roles = new ArrayList<String>();
- scopes = new HashSet<String>();
- for(Roles userRole: userRoles){
- roles.add(userRole.getRole());
- if(userRole.getScope() != null){
- if(userRole.getScope().contains(",")){
- String[] multipleScopes = userRole.getScope().split(",");
- for(int i =0; i < multipleScopes.length; i++){
- scopes.add(multipleScopes[i]);
- }
- }else{
- scopes.add(userRole.getScope());
- }
- }
- }
- if (roles.contains(ADMIN) || roles.contains(EDITOR) || roles.contains(GUEST) ) {
- if(scopes.isEmpty()){
- return error("No Scopes has been Assigned to the User. Please, Contact Super-Admin");
- }
- }
-
- List<JSONObject> resultList = new ArrayList<JSONObject>();
- SimpleDateFormat dt = new SimpleDateFormat(DATE_FORMAT);
- boolean onlyFolders = params.getBoolean("onlyFolders");
- String path = params.getString("path");
- if(path.contains("..xml")){
- path = path.replaceAll("..xml", "").trim();
- }
-
-
- if("/".equals(path)){
- if(roles.contains(SUPERADMIN) || roles.contains(SUPEREDITOR) || roles.contains(SUPERGUEST)){
- try (DirectoryStream<Path> directoryStream = Files.newDirectoryStream(Paths.get(REPOSITORY_BASE_PATH, path))) {
- for (Path pathObj : directoryStream) {
- BasicFileAttributes attrs = Files.readAttributes(pathObj, BasicFileAttributes.class);
- if (onlyFolders && !attrs.isDirectory()) {
- continue;
- }
- JSONObject el = new JSONObject();
- String fileName = pathObj.getFileName().toString();
- if (!(fileName.equals(".DS_Store") || fileName.contains(".git"))) {
- if(!fileName.endsWith(".xml")){
- el.put("name", fileName);
- el.put("date", dt.format(new Date(attrs.lastModifiedTime().toMillis())));
- el.put("size", attrs.size());
- el.put("type", attrs.isDirectory() ? "dir" : "file");
- resultList.add(el);
- }
- }
- }
- } catch (IOException ex) {
- LOG.error("Error Occured While reading Policy Files List"+ex );
- }
- }else if(roles.contains(ADMIN) || roles.contains(EDITOR) || roles.contains(GUEST)){
- for(Object scope : scopes){
- JSONObject el = new JSONObject();
- Path filePath = Paths.get(REPOSITORY_BASE_PATH + File.separator + scope);
- if(Files.exists(filePath)){
- el.put("name", scope);
- el.put("date", dt.format(filePath.toFile().lastModified()));
- el.put("size", "");
- el.put("type", "dir");
- resultList.add(el);
- }
- }
- }
- }else{
- try{
- String scopeName = path.substring(path.indexOf("/") +1);
- activePolicyList(scopeName, resultList, roles, scopes, onlyFolders);
- } catch (Exception ex) {
- LOG.error("Error Occured While reading Policy Files List"+ex );
- }
- }
-
- return new JSONObject().put(RESULT, resultList);
- } catch (Exception e) {
- LOG.error("list", e);
- return error(e.getMessage());
- }
- }
-
- //Get Active Policy List based on Scope Selection form Policy Version table
- private void activePolicyList(String scopeName, List<JSONObject> resultList, List<String> roles, Set<String> scopes, boolean onlyFolders){
- if(scopeName.contains("/")){
- scopeName = scopeName.replace("/", File.separator);
- }
- if(scopeName.contains("\\")){
- scopeName = scopeName.replace("\\", "\\\\\\\\");
- }
- String query = "from PolicyVersion where POLICY_NAME like'" +scopeName+"%'";
- String scopeNamequery = "from PolicyEditorScopes where SCOPENAME like'" +scopeName+"%'";
- List<PolicyVersion> activePolicies = PolicyController.getListOfActivePolicies(query);
- List<PolicyEditorScopes> scopesList = PolicyController.getListOfPolicyEditorScopes(scopeNamequery);
- for(PolicyEditorScopes scopeById : scopesList){
- String scope = scopeById.getScopeName();
- if(scope.contains(File.separator)){
- String checkScope = scope.substring(0, scope.lastIndexOf(File.separator));
- if(scopeName.contains("\\\\")){
- scopeName = scopeName.replace("\\\\", File.separator);
- }
- if(scopeName.equalsIgnoreCase(checkScope)){
- JSONObject el = new JSONObject();
- Path filePath = Paths.get(REPOSITORY_BASE_PATH + File.separator + scope);
- if(Files.exists(filePath)){
- el.put("name", filePath.getFileName());
- el.put("date", scopeById.getModifiedDate());
- el.put("size", "");
- el.put("type", "dir");
- el.put("createdBy", scopeById.getUserCreatedBy().getUserName());
- el.put("modifiedBy", scopeById.getUserModifiedBy().getUserName());
- resultList.add(el);
- }
- }
- }
- }
- for (PolicyVersion policy : activePolicies) {
- String scopeNameValue = policy.getPolicyName().substring(0, policy.getPolicyName().lastIndexOf(File.separator));
- String activepath = REPOSITORY_BASE_PATH + File.separator + policy.getPolicyName() + "." + policy.getActiveVersion() + ".xml";
- Path pathObj = Paths.get(activepath);
- if(Files.exists(pathObj)){
- BasicFileAttributes attrs;
- try {
- attrs = Files.readAttributes(pathObj, BasicFileAttributes.class);
- if (onlyFolders && !attrs.isDirectory()) {
- continue;
- }
- if(roles.contains(SUPERADMIN) || roles.contains(SUPEREDITOR) || roles.contains(SUPERGUEST)){
- readPolicies(pathObj, attrs, scopeName, resultList);
- }else if(!scopes.isEmpty()){
- for(String value : scopes){
- if(scopeNameValue.startsWith(value)){
- readPolicies(pathObj, attrs, scopeName, resultList);
- }
- }
- }
- } catch (Exception e) {
- LOG.error(XACMLErrorConstants.ERROR_PROCESS_FLOW+"Exception occured while reading File Attributes"+e);
- }
- }
- }
- }
-
- //Read the Policy File to get Created by and Modified by User Name of Policy
- public void readPolicies(Path pathObj, BasicFileAttributes attrs, String scopeName, List<JSONObject> resultList){
- JSONObject el = new JSONObject();
- String policyName = "";
- String version = "";
- String scope = "";
- if(scopeName.contains("\\\\")){
- scopeName = scopeName.replace("\\\\", File.separator);
- }
- SimpleDateFormat dt = new SimpleDateFormat(DATE_FORMAT);
- String fileName = pathObj.getFileName().toString();
- if (!(fileName.equals(".DS_Store") || fileName.startsWith(".git"))) {
- if(fileName.endsWith(".xml")){
- fileName = fileName.substring(0, fileName.lastIndexOf('.'));
- fileName = fileName.substring(0, fileName.lastIndexOf('.'));
- //Query the database
- String parent = pathObj.toString().substring(pathObj.toString().indexOf(REPOSITORY)+ 11);
- parent = FilenameUtils.removeExtension(parent);
- version = parent.substring(parent.indexOf(".")+1);
- policyName = parent.substring(0, parent.lastIndexOf("."));
- scope = policyName.substring(0, policyName.lastIndexOf(File.separator));
- if(policyName.contains("\\")){
- policyName = scope + "\\" + policyName.substring(policyName.lastIndexOf("\\"));
- }
- }
- if(scopeName.equalsIgnoreCase(scope)){
- el.put("name", fileName);
- if(pathObj.toFile().toString().endsWith(".xml")){
- el.put("version", version);
- List<String> createdByModifiedBy;
- try {
- createdByModifiedBy = XACMLPolicyScanner.getCreatedByModifiedBy(pathObj);
- } catch (IOException e) {
- LOG.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error while Reading the Policy File" + pathObj.toString() + e.getMessage());
- createdByModifiedBy = Arrays.asList("", "");
- }
- el.put("createdBy", getUserName(createdByModifiedBy.get(0)));
- el.put("modifiedBy", getUserName(createdByModifiedBy.get(1)));
- }
- el.put("date", dt.format(new Date(attrs.lastModifiedTime().toMillis())));
- el.put("size", attrs.size());
- el.put("type", attrs.isDirectory() ? "dir" : "file");
- }
- }
-
- if(!el.keySet().isEmpty()){
- resultList.add(el);
- }
-
- }
-
- //Get the User Name based on ID from User Info table
- public String getUserName(String userId) {
- String userName = "super-admin";
- if("".equals(userId)){
- return userName;
- }
- try{
- return PolicyController.getUserName(userId);
- }catch(Exception e){
- LOG.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"Error Occured while Retriving User Name from User Info table"+e);
- return userName;
- }
- }
-
- //Rename Policy
- private JSONObject rename(JSONObject params, HttpServletRequest request) throws ServletException {
- try {
- String userId = null;
- try {
- userId = UserUtils.getUserIdFromCookie(request);
- } catch (Exception e) {
- LOG.error("Exception Occured while reading userid from cookie" +e);
- }
- String path = params.getString("path");
- String newpath = params.getString("newPath");
- LOG.debug("rename from: {} to: {}" +path + newpath);
-
- File srcFile = new File(REPOSITORY_BASE_PATH, path);
- File destFile = new File(REPOSITORY_BASE_PATH, newpath);
- if (srcFile.isFile()) {
- renameXMLandConfig(destFile.getPath().toString(), srcFile.getPath().toString(), userId);
- } else {
- FileUtils.moveDirectory(srcFile, destFile);
- String oldScopeName = path.substring(1).replace("/", File.separator);
- String newScopeName = newpath.substring(1).replace("/", File.separator);
- String scopeNamequery = "from PolicyEditorScopes where SCOPENAME like'" +oldScopeName.replace("\\", "\\\\\\\\")+"%'";
- UserInfo userInfo = new UserInfo();
- userInfo.setUserLoginId(userId);
- List<PolicyEditorScopes> scopesList = PolicyController.getListOfPolicyEditorScopes(scopeNamequery);
- for(PolicyEditorScopes scopes : scopesList){
- String scope = scopes.getScopeName();
- String newScope = scope.replace(oldScopeName, newScopeName);
- scopes.setScopeName(newScope);
- scopes.setUserModifiedBy(userInfo);
- PolicyController.updatePolicyScopeEditor(scopes);
- }
- File[] list = destFile.listFiles();
- if(list.length > 0){
- renameXMLandConfig(destFile.getPath().toString(), srcFile.getPath().toString(), userId);
- }
- }
- return success();
- } catch (Exception e) {
- LOG.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"Exception Occured While Renaming Policy"+e);
- return error(e.getMessage());
- }
- }
-
- //rename the xml and config files when renaming scope
- public void renameXMLandConfig(String newPath, String oldPath, String loginId){
- if(!newPath.endsWith(".xml")){
- File dir = new File(newPath);
- File[] listOfFiles = dir.listFiles();
- for(File file : listOfFiles){
- if(file.toString().endsWith(".xml")){
- renameFile(file, oldPath, newPath );
- }else if(file.isDirectory()){
- String oldFilePath = oldPath + File.separator +file.getName();
- renameXMLandConfig(file.toString(), oldFilePath, loginId);
- }
- }
- }else{
- Path parent = Paths.get(oldPath.toString().substring(0, oldPath.toString().lastIndexOf(File.separator)));
- String policyName = oldPath.toString().substring(oldPath.toString().indexOf(REPOSITORY) +11);
- String removeExtension = policyName.replace(".xml", "");
- String dbPolicyName = removeExtension.substring(0, removeExtension.lastIndexOf("."));
- //Policy Notifcation
- PolicyController controller = new PolicyController();
- PolicyVersion entity = new PolicyVersion();
- entity.setPolicyName(dbPolicyName);
- entity.setModifiedBy(loginId);
- controller.WatchPolicyFunction(entity, dbPolicyName, "Rename");
- String filterPolicyName = dbPolicyName.substring(dbPolicyName.lastIndexOf(File.separator)+1);
- FileFilter fileFilter = new WildcardFileFilter(filterPolicyName + "." + "*" + ".xml");
- File[] files = parent.toFile().listFiles(fileFilter);
- for(File file : files){
- String removeNewPathExtension = newPath.replace(".xml", "");
- String removeNewFileVersion = removeNewPathExtension.substring(0, removeNewPathExtension.lastIndexOf("."));
- String oldFile = file.getPath();
- oldFile = oldFile.replace(".xml", "");
- String version = oldFile.substring(oldFile.lastIndexOf(".")+1);
- String finalPath = removeNewFileVersion + "." + version + ".xml";
- File destFile = new File(finalPath);
- try {
- FileUtils.moveFile(file, destFile);
- renameFile(file, oldFile, finalPath);
- } catch (IOException e) {
- LOG.error(XACMLErrorConstants.ERROR_DATA_ISSUE + "Exception Occured While Renaming or Moving Policy"+e);
- }
-
- }
- }
- }
-
- //Rename File
- private void renameFile(File file, String oldPath, String newPath){
- if(file.toString().contains(CONFIG) || file.toString().contains(ACTION) || file.toString().contains(DECISION)){
- File xmlFileName = new File(newPath);
- String oldfileWithExtension = null;
- String filelocation = null;
- String oldfile = null;
- String newfile = null;
- String extension = null;
- if(newPath.endsWith(".xml")){
- extension = XACMLPolicyWriterWithPapNotify.changeFileNameInXmlWhenRenamePolicy(xmlFileName.toPath());
- }else{
- extension = XACMLPolicyWriterWithPapNotify.changeFileNameInXmlWhenRenamePolicy(file.toPath());
- String fileName = file.getName();
- oldPath = oldPath + File.separator + fileName;
- newPath = newPath + File.separator + fileName;
- }
-
- try{
- if(file.toString().contains(CONFIG)){
- filelocation = PolicyController.getConfigHome();
- }
- if(file.toString().contains(ACTION)){
- filelocation = PolicyController.getActionHome();
- }
- File oldFilePath = new File(oldPath);
- String oldFileName = oldFilePath.getName().replace(".xml", "");
- File newFilePath = new File(newPath);
- String newFileName = newFilePath.getName().replace(".xml", "");
- File target = new File(oldPath);
- File newParentScope = new File(newPath);
- if(newParentScope.toString().endsWith(".xml")){
- String newScope = newParentScope.toString().substring(0, newParentScope.toString().lastIndexOf(File.separator));
- newParentScope = new File(newScope);
- }
- String oldParentScope = target.toString().substring(0, target.toString().lastIndexOf(File.separator));
- String oldDomain = oldParentScope.toString().substring(oldParentScope.toString().indexOf(REPOSITORY) + 11);
- if(oldDomain.endsWith(".xml")){
- oldDomain = oldDomain.substring(0, oldDomain.lastIndexOf(File.separator));
- }
- oldfile = oldDomain + File.separator + oldFileName.substring(0, oldFileName.indexOf("."));
- if(oldDomain.contains(File.separator)){
- oldDomain = oldDomain.replace(File.separator, ".");
- }
- String newDomain = newParentScope.toString().substring(newParentScope.toString().indexOf(REPOSITORY) + 11);
- newfile = newDomain + File.separator +newFileName.substring(0, newFileName.indexOf("."));
- if(newDomain.contains(File.separator)){
- newDomain = newDomain.replace(File.separator, ".");
- }
- if(file.toString().contains(CONFIG) || file.toString().contains(ACTION)){
- oldfileWithExtension = oldDomain + "." + oldFileName + "."+ extension;
- String newfilewithExtension = newDomain + "." + newFileName + "." + extension;
- File file1 = new File(filelocation, oldfileWithExtension);
- file1.renameTo(new File(filelocation , newfilewithExtension));
- }
- String query = "update PolicyVersion set policy_name='"+newfile.replace("\\", "\\\\")+"' where policy_name ='" +oldfile.replace("\\", "\\\\")+"' and id >0";
- //query the database
- PolicyController.updatePolicyVersion(query);
- }catch(Exception e){
- LOG.error(XACMLErrorConstants.ERROR_DATA_ISSUE +"Config file cannot found:" + oldfileWithExtension + e);
- }
- }
- }
-
- //Clone the Policy
- private JSONObject copy(JSONObject params, HttpServletRequest request) throws ServletException {
- try {
- String path = params.getString("path");
- String newpath = params.getString("newPath");
- LOG.debug("copy from: {} to: {}" + path +newpath);
- File srcFile = new File(REPOSITORY_BASE_PATH, path);
- File destFile = new File(REPOSITORY_BASE_PATH, newpath);
- if (srcFile.isFile()) {
- FileUtils.copyFile(srcFile, destFile);
- cloneXMLandConfig(destFile, srcFile, request);
- } else {
- FileUtils.copyDirectory(srcFile, destFile);
- }
- return success();
- } catch (Exception e) {
- LOG.error("copy", e);
- return error(e.getMessage());
- }
- }
-
- public void cloneXMLandConfig(File newPath, File oldPath, HttpServletRequest request){
- String userId = null;
- try {
- userId = UserUtils.getUserIdFromCookie(request);
- } catch (Exception e) {
- LOG.error("Exception Occured while reading userid from cookie" +e);
- }
- String newPolicyName = newPath.getPath().toString().substring(newPath.getPath().toString().indexOf(REPOSITORY) + 11);
- newPolicyName = newPolicyName.replace(".xml", "");
- String version = newPolicyName.substring(newPolicyName.lastIndexOf(".") +1);
- String policyName = newPolicyName.substring(0, newPolicyName.indexOf("."));
- newPolicyName = newPolicyName.replace(File.separator, ".");
- //if the user leaves the name of the policy blank
- if (newPolicyName == null) {
- return;
- }else{
- Path newPolicyPath = newPath.toPath();
- File dir = null;
- File[] listOfFiles = null;
- if(newPolicyName.contains(CONFIG)){
- LOG.debug("CONFIG_HOME: "+CONFIG_HOME);
- dir=new File(CONFIG_HOME);
- listOfFiles = dir.listFiles();
- }else if(newPolicyName.contains(ACTION)){
- LOG.debug("ACTION_HOME: "+ACTION_HOME);
- dir=new File(ACTION_HOME);
- listOfFiles = dir.listFiles();
- }
- String indexValue = "";
- String orignalPolicyName = oldPath.getPath().toString().substring(oldPath.getPath().toString().indexOf(REPOSITORY) + 11);
- orignalPolicyName = orignalPolicyName.replace(".xml", "");
- orignalPolicyName = orignalPolicyName.replace(File.separator, ".");
- if(orignalPolicyName.contains("Config_Fault_")){
- indexValue = "Config_Fault_";
- } else if(orignalPolicyName.contains("Config_PM_")){
- indexValue = "Config_PM_";
- }else if(orignalPolicyName.contains("Config_FW")){
- indexValue = "Config_FW_";
- }else if(orignalPolicyName.contains("Config_BRMS_Param")){
- indexValue = "Config_BRMS_Param_";
- }else if(orignalPolicyName.contains("Config_BRMS_Raw")){
- indexValue = "Config_BRMS_Raw_";
- } else if(orignalPolicyName.contains("Config_MS")){
- indexValue = "Config_MS_";
- }else if(orignalPolicyName.contains(ACTION)){
- indexValue = ACTION;
- }else if(orignalPolicyName.contains(DECISION)){
- indexValue = DECISION;
- }else{
- indexValue = CONFIG;
- }
- File newConfigFile = null;
-
- //making changes to the xml file
- if(indexValue.contains(CONFIG) || indexValue.contains(ACTION)){
- for (File file : listOfFiles) {
- if (file.isFile()){
- String fileName=file.getName();
- if(fileName.contains(orignalPolicyName)){
- String newConfigFileName=fileName.replaceAll(orignalPolicyName,newPolicyName);
- if(dir.toString().contains(File.separator)){
- newConfigFile=new File(dir.toString()+ File.separator +newConfigFileName);
- }
- try {
- Files.copy(file.toPath(), newConfigFile.toPath());
- } catch (Exception e) {
- LOG.error(XACMLErrorConstants.ERROR_DATA_ISSUE +"Error while Cloning the config file" + e);
- return;
- }
- }
- }
- }
- XACMLPolicyWriterWithPapNotify.changeFileNameInXmlWhenRenamePolicy(newPolicyPath);
- }
- //set the clone policy name into policy version database table
- PolicyVersion entityItem = new PolicyVersion();
- entityItem.setActiveVersion(Integer.parseInt(version));
- entityItem.setHigherVersion(Integer.parseInt(version));
- entityItem.setPolicyName(policyName);
- entityItem.setCreatedBy(userId);
- entityItem.setModifiedBy(userId);
- PolicyController.SaveToPolicyVersion(entityItem);
-
-
- new Thread(new Runnable() {
- @Override
- public void run() {
- try {
- ElkConnector.singleton.update(newPolicyPath.toFile());
- if (LOG.isInfoEnabled()) {
- LOG.info("ELK cloning to " + newPolicyPath);
- }
- } catch (Exception e) {
- LOG.warn(XACMLErrorConstants.ERROR_DATA_ISSUE + ": Internal Error: Unsucessful clone: " + e.getMessage(), e);
- }
- }
- }).start();
-
- //send to pap
- XACMLPolicyWriterWithPapNotify.notifyPapOfCreateUpdate(newPolicyPath.toAbsolutePath().toString());
- LOG.info("Cloned policy "+newPolicyName+" created successfully.");
- return;
- }
- }
-
- //Delete Policy or Scope Functionality
- private JSONObject delete(JSONObject params, HttpServletRequest request) throws ServletException {
- try {
- String userId = UserUtils.getUserIdFromCookie(request);
- String deleteVersion = "";
- String path1 = params.getString("path");
- LOG.debug("delete {}" +path1);
- if(params.has("deleteVersion")){
- deleteVersion = params.getString("deleteVersion");
- }
-
- this.repofilePath = new File(REPOSITORY_BASE_PATH, path1);
- File policyFile = new File(REPOSITORY_BASE_PATH, path1);
- if("ALL".equals(deleteVersion)){
- String removexmlExtension = policyFile.toString().substring(0, policyFile.toString().lastIndexOf("."));
- String removeVersion = removexmlExtension.substring(0, removexmlExtension.lastIndexOf("."));
- String notificationName = removeVersion.substring(removeVersion.lastIndexOf(REPOSITORY)+11);
- //Policy Notifcation
- PolicyController controller = new PolicyController();
- PolicyVersion entity = new PolicyVersion();
- entity.setPolicyName(notificationName);
- entity.setModifiedBy(userId);
- controller.WatchPolicyFunction(entity, notificationName, "DeleteAll");
- File dirXML = new File(policyFile.getParent());
- File[] listOfXMLFiles = dirXML.listFiles();
- for (File file : listOfXMLFiles) {
- //delete the xml files from Repository
- if (file.isFile() && file.toString().contains(removeVersion)) {
- if(XACMLPolicyWriterWithPapNotify.notifyPapOfDelete(file.toString())){
- LOG.info("Policy deleted from database. Continuing with file delete");
- } else {
- LOG.error("Failed to delete Policy from database. Aborting file delete");
- }
- //Elk Update
- updateElkOnPolicyDelete(file);
-
- if (file.delete()) {
- if (LOG.isDebugEnabled()) {
- LOG.debug("Deleted file: " + file.toString());
- }
- } else {
- LOG.warn(XACMLErrorConstants.ERROR_DATA_ISSUE + "Cannot delete the policy file in specified location: " + file.getAbsolutePath());
- }
-
- // Get tomcat home directory for deleting config data
- String path = getParentPathSubScopeDir();
- path = path.replace('\\', '.');
- if(path.contains("/")){
- path = path.replace('/', '.');
- }
- String fileName = FilenameUtils.removeExtension(file.getName());
- String removeVersionInFileName = fileName.substring(0, fileName.lastIndexOf("."));
- String fileLocation = null;
- if (fileName != null && fileName.contains(CONFIG)) {
- fileLocation = CONFIG_HOME;
- } else if (fileName != null && fileName.contains(ACTION)) {
- fileLocation = ACTION_HOME;
- }
- if (LOG.isDebugEnabled()) {
- LOG.debug("Attempting to rename file from the location: "+ fileLocation);
- }
- if(!file.toString().contains(DECISION)){
- // Get the file from the saved location
- File dir = new File(fileLocation);
- File[] listOfFiles = dir.listFiles();
-
- for (File file1 : listOfFiles) {
- if (file1.isFile() && file1.getName().contains( path + removeVersionInFileName)) {
- try {
- if (file1.delete() == false) {
- throw new Exception("No known error, Delete failed");
- }
- } catch (Exception e) {
- LOG.error("Failed to Delete file: "+ e.getLocalizedMessage());
- }
- }
- }
- }
-
- //Delete the Policy from Database Policy Version table
- String removeExtension = removeVersion.substring(removeVersion.indexOf(REPOSITORY)+11);
- String policyVersionQuery = "delete from PolicyVersion where policy_name ='" +removeExtension.replace("\\", "\\\\")+"' and id >0";
- if(policyVersionQuery != null){
- PolicyController.updatePolicyVersion(policyVersionQuery);
- }
- }
- }
- //If Only Particular version to be deleted
- }else if("CURRENT".equals(deleteVersion)){
- String removexmlExtension = policyFile.toString().substring(0, policyFile.toString().lastIndexOf("."));
- String getVersion = removexmlExtension.substring(removexmlExtension.indexOf(".")+1);
- String removeVersion = removexmlExtension.substring(0, removexmlExtension.lastIndexOf("."));
- String notificationName = removeVersion.substring(removeVersion.lastIndexOf(REPOSITORY)+11);
- //Policy Notifcation
- PolicyController controller = new PolicyController();
- PolicyVersion entity = new PolicyVersion();
- entity.setPolicyName(notificationName);
- entity.setActiveVersion(Integer.parseInt(getVersion));
- entity.setModifiedBy(userId);
- controller.WatchPolicyFunction(entity, notificationName, "DeleteOne");
- if(XACMLPolicyWriterWithPapNotify.notifyPapOfDelete(policyFile.toString())){
- LOG.info("Policy deleted from database. Continuing with file delete");
- } else {
- LOG.error("Failed to delete Policy from database. Aborting file delete");
- }
- //Elk Update
- updateElkOnPolicyDelete(policyFile);
-
- if (policyFile.delete()) {
- LOG.debug("Deleted file: " + policyFile.toString());
- } else {
- LOG.warn(XACMLErrorConstants.ERROR_DATA_ISSUE + "Cannot delete the policy file in specified location: " +policyFile.getAbsolutePath());
- }
-
- // Get tomcat home directory for storing action body config data
- String path = getParentPathSubScopeDir();
- path = path.replace('\\', '.');
- if(path.contains("/")){
- path = path.replace('/', '.');
- LOG.info("print the path:" +path);
- }
- final String tempPath = path;
- String fileName = FilenameUtils.removeExtension(policyFile.getName());
- String fileLocation = null;
- if (fileName != null && fileName.contains(CONFIG)) {
- fileLocation = CONFIG_HOME;
- } else if (fileName != null && fileName.contains(ACTION)) {
- fileLocation = ACTION_HOME;
- }
- if (LOG.isDebugEnabled()) {
- LOG.debug("Attempting to delete file from the location: "+ fileLocation);
- }
- if(!policyFile.toString().contains(DECISION)){
- // Get the file from the saved location
- File dir = new File(fileLocation);
- File[] listOfFiles = dir.listFiles();
-
- for (File file : listOfFiles) {
- if (file.isFile() && file.toString().contains( tempPath + fileName)) {
- try {
- if (file.delete() == false) {
- throw new Exception("No known error, Delete failed");
- }
- } catch (Exception e) {
- LOG.error("Failed to Delete file: "+ e.getLocalizedMessage());
- }
- }
- }
- }
- //Delete the Policy from Database and set Active Version based on the deleted file.
- int highestVersion = 0;
- String removeExtension = removeVersion.substring(removeVersion.indexOf(REPOSITORY)+11);
- PolicyVersion policyVersionEntity = PolicyController.getPolicyEntityFromPolicyVersion(removeExtension);
- if(policyVersionEntity != null){
- highestVersion = policyVersionEntity.getHigherVersion();
- }
- int i =0;
- int version = Integer.parseInt(getVersion);
- if(version == highestVersion){
- for(i = highestVersion; i >= 1 ; i--){
- highestVersion = highestVersion-1;
- path = removeVersion + "."+ highestVersion +".xml";
- File file = new File(path);
- if(file.exists()){
- break;
- }
- }
- }
- String updatequery = "update PolicyVersion set active_version='"+highestVersion+"' , highest_version='"+highestVersion+"' where policy_name ='" +removeExtension.replace("\\", "\\\\")+"'";
- PolicyController.updatePolicyVersion(updatequery);
- }else{
- String scopeName = policyFile.getAbsolutePath().substring(policyFile.getAbsolutePath().indexOf(REPOSITORY)+11);
- String policyVersionQuery = "delete PolicyVersion where POLICY_NAME like '"+scopeName.replace("\\", "\\\\")+"%' and id >0";
- String policyScopeQuery = "delete PolicyEditorScopes where SCOPENAME like '"+scopeName.replace("\\", "\\\\")+"%' and id >0";
- PolicyController.updatePolicyVersion(policyVersionQuery);
- PolicyController.updatePolicyScopeEditorWithQuery(policyScopeQuery);
- delete(policyFile);
- //Policy Notifcation
- PolicyController controller = new PolicyController();
- PolicyVersion entity = new PolicyVersion();
- entity.setPolicyName(scopeName);
- entity.setModifiedBy(userId);
- controller.WatchPolicyFunction(entity, scopeName, "DeleteScope");
- }
- return success();
- } catch (Exception e) {
- LOG.error("delete", e);
- return error(e.getMessage());
- }
- }
-
- //Notify ELK on File Delete
- private void updateElkOnPolicyDelete(File file){
- try {
- ElkConnector.singleton.delete(file);
- } catch (Exception e) {
- LOG.warn(XACMLErrorConstants.ERROR_DATA_ISSUE + ": Cannot delete: " + file.getName() +
- " at " + file.getAbsolutePath() + ": " + e.getMessage(), e);
- }
- }
- //Deletes Files when Scope is Selected to delete
- public void delete(File file) throws IOException{
- if(file.isDirectory()){
- //directory is empty, then delete it
- if(file.list().length==0){
- file.delete();
- }else{
- //list all the directory contents
- String[] files = file.list();
- for (String temp : files) {
- //construct the file structure
- File fileDelete = new File(file, temp);
- //delete from Elk first
- if(fileDelete.getAbsolutePath().toString().endsWith(".xml")){
- try {
- String deleteFile= fileDelete.getAbsoluteFile().toString().substring(fileDelete.getAbsoluteFile().toString().indexOf("workspace"));
- File deletePath= new File(deleteFile);
- LOG.debug("Search:"+deletePath);
- ElkConnector.singleton.delete(deletePath);
- } catch (Exception e) {
- LOG.warn(XACMLErrorConstants.ERROR_DATA_ISSUE + ": Cannot delete: " + fileDelete.getAbsoluteFile().getName() +
- " at " + fileDelete.getAbsoluteFile().getAbsolutePath() + ": " +e.getMessage(), e);
- }
- }
-
- //recursive delete
- delete(fileDelete);
-
- //Delete the Configuration files from Config and Action Home Location
- String fileLocation = null;
- String policyName = fileDelete.toString().substring(fileDelete.toString().indexOf(REPOSITORY)+11, fileDelete.toString().lastIndexOf("."));
- if(policyName.contains(CONFIG)){
- fileLocation = PolicyController.getConfigHome();
- }
- if(policyName.contains(ACTION)){
- fileLocation = PolicyController.getActionHome();
- }
- if(policyName.contains(File.separator)){
- policyName = policyName.replace(File.separator, ".");
- }
- if(!fileDelete.toString().contains(DECISION) && fileLocation != null){
- // Get the file from the saved location and delete
- File dir = new File(fileLocation);
- FileFilter fileFilter = new WildcardFileFilter(policyName + ".*");
- File[] configFiles = (dir).listFiles(fileFilter);
- if(configFiles.length > 0){
- configFiles[0].delete();
- }
- }
- //Notify the PAP and Elk database for deleting the Policies Under Scopes
- if(fileDelete.getAbsolutePath().toString().endsWith(".xml")){
- if(!XACMLPolicyWriterWithPapNotify.notifyPapOfDelete(fileDelete.getAbsolutePath().toString())){
- LOG.error(XACMLErrorConstants.ERROR_PROCESS_FLOW+"Could not delete the policy from the database: "+
- fileDelete.getAbsolutePath().toString());
- throw new IOException("Could not delete the policy from the database: "+
- fileDelete.getAbsolutePath().toString());
- }
- }
- }
- //check the directory again, if empty then delete it
- if(file.list().length==0){
- file.delete();
- }
- }
- }else{
- //if file, then delete it
- file.delete();
- }
- }
-
- //Get the Parent Scope of File
- protected String getParentPathSubScopeDir() {
- String domain1 = null;
- final Path gitPath = PolicyController.getGitPath();
- String policyDir = this.repofilePath.getAbsolutePath();
- int startIndex = policyDir.indexOf(gitPath.toString()) + gitPath.toString().length() + 1;
- policyDir = policyDir.substring(startIndex, policyDir.length());
- if(policyDir.contains(CONFIG)){
- domain1 = policyDir.substring(0,policyDir.indexOf(CONFIG));
- }else if(policyDir.contains(ACTION)){
- domain1 = policyDir.substring(0,policyDir.indexOf(ACTION));
- }else{
- domain1 = policyDir.substring(0,policyDir.indexOf(DECISION));
- }
- LOG.info("print the main domain value"+policyDir);
- return domain1;
- }
-
- //Edit the Policy
- private JSONObject editFile(JSONObject params) throws ServletException {
- // get content
- try {
- String mode = params.getString("mode");
- String path = params.getString("path");
- LOG.debug("editFile path: {}"+ path);
-
- File policyFile = new File(REPOSITORY_BASE_PATH, path);
-
- Object policy = XACMLPolicyScanner.readPolicy(new FileInputStream(policyFile));
- Path fullPath = Paths.get(policyFile.getAbsolutePath(), new String[0]);
- PolicyAdapter policyAdapter = new PolicyAdapter();
- policyAdapter.setData(policy);
- String dirPath = fullPath.getParent().toString().substring(fullPath.getParent().toString().lastIndexOf(REPOSITORY)+11);
- policyAdapter.setDirPath(dirPath);
- policyAdapter.setParentPath(fullPath.getParent());
-
- if("viewPolicy".equalsIgnoreCase(mode)){
- policyAdapter.setReadOnly(true);
- policyAdapter.setEditPolicy(false);
- }else{
- policyAdapter.setReadOnly(false);
- policyAdapter.setEditPolicy(true);
- }
-
- policyAdapter.setPolicyData(policy);
- policyAdapter.setPolicyName(FilenameUtils.removeExtension(policyFile.getName()));
-
- String policyNameValue = null ;
- String configPolicyName = null ;
- if(policyAdapter.getPolicyName().startsWith("Config_PM")){
- policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
- configPolicyName = "ClosedLoop_PM";
- }else if(policyAdapter.getPolicyName().startsWith("Config_Fault")){
- policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
- configPolicyName = "ClosedLoop_Fault";
- }else if(policyAdapter.getPolicyName().startsWith("Config_FW")){
- policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
- configPolicyName = "Firewall Config";
- }else if(policyAdapter.getPolicyName().startsWith("Config_BRMS_Raw")){
- policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
- configPolicyName = "BRMS_Raw";
- }else if(policyAdapter.getPolicyName().startsWith("Config_BRMS_Param")){
- policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
- configPolicyName = "BRMS_Param";
- }else if(policyAdapter.getPolicyName().startsWith("Config_MS")){
- policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
- configPolicyName = "DCAE Micro Service";
- }else if(policyAdapter.getPolicyName().startsWith("Action") || policyAdapter.getPolicyName().startsWith("Decision") ){
- policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
- }
- else{
- policyNameValue = policyAdapter.getPolicyName().substring(0, policyAdapter.getPolicyName().indexOf("_"));
- configPolicyName = "Base";
- }
- if (policyNameValue != null) {
- policyAdapter.setPolicyType(policyNameValue);
- }
- if (configPolicyName != null) {
- policyAdapter.setConfigPolicyType(configPolicyName);
- }
-
- if("Action".equalsIgnoreCase(policyAdapter.getPolicyType())){
- ActionPolicyController actionController = new ActionPolicyController();
- actionController.PrePopulateActionPolicyData(policyAdapter);
- }
- if("Decision".equalsIgnoreCase(policyAdapter.getPolicyType())){
- DecisionPolicyController decisionController = new DecisionPolicyController();
- decisionController.PrePopulateDecisionPolicyData(policyAdapter);
- }
- if("Config".equalsIgnoreCase(policyAdapter.getPolicyType())){
- if("Base".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){
- CreatePolicyController baseController = new CreatePolicyController();
- baseController.PrePopulateBaseConfigPolicyData(policyAdapter);
- }
- else if("BRMS_Raw".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){
- CreateBRMSRawController brmsController = new CreateBRMSRawController();
- brmsController.PrePopulateBRMSRawPolicyData(policyAdapter);
- }
- else if("BRMS_Param".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){
- CreateBRMSParamController paramController = new CreateBRMSParamController();
- paramController.PrePopulateBRMSParamPolicyData(policyAdapter);
- }
- else if("ClosedLoop_Fault".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){
- CreateClosedLoopFaultController newFaultTemplate = new CreateClosedLoopFaultController();
- newFaultTemplate.PrePopulateClosedLoopFaultPolicyData(policyAdapter);
- }
- else if("ClosedLoop_PM".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){
- CreateClosedLoopPMController pmController = new CreateClosedLoopPMController();
- pmController.PrePopulateClosedLoopPMPolicyData(policyAdapter);
- }
- else if("DCAE Micro Service".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){
- CreateDcaeMicroServiceController msController = new CreateDcaeMicroServiceController();
- msController.PrePopulateDCAEMSPolicyData(policyAdapter);
- }
- else if("Firewall Config".equalsIgnoreCase(policyAdapter.getConfigPolicyType())){
- CreateFirewallController firewallController = new CreateFirewallController();
- firewallController.PrePopulateFWPolicyData(policyAdapter);
- }
- }
-
-
- policyAdapter.setParentPath(null);
- ObjectMapper mapper = new ObjectMapper();
- String json = mapper.writeValueAsString(policyAdapter);
- JsonNode jsonNode = mapper.readTree(json);
-
- return new JSONObject().put(RESULT, jsonNode);
- } catch (Exception e) {
- LOG.error("editFile", e);
- return error(e.getMessage());
- }
- }
-
- //Add Scopes
- private JSONObject addFolder(JSONObject params, HttpServletRequest request) throws ServletException {
- String name = "";
-
- try {
- String userId = UserUtils.getUserIdFromCookie(request);
- String path = params.getString("path");
- try{
- if(params.has("subScopename")){
- if(!params.getString("subScopename").equals("")){
- name = params.getString("path").replace("/", File.separator) + File.separator +params.getString("subScopename");
- }
- }else{
- name = params.getString("name");
- }
- }catch(Exception e){
- name = params.getString("name");
- LOG.error(XACMLErrorConstants.ERROR_DATA_ISSUE + "Exception Occured While Adding Scope"+e);
- }
-
-
- LOG.debug("addFolder path: {} name: {}" + path +name);
- File newDir = new File(REPOSITORY_BASE_PATH, name);
- if(!newDir.exists()){
- if (!newDir.mkdir()) {
- throw new Exception("Can't create directory: " + newDir.getAbsolutePath());
- }
- UserInfo userInfo = new UserInfo();
- userInfo.setUserLoginId(userId);
- PolicyEditorScopes newScope = new PolicyEditorScopes();
- String scopeName = null;
- if(name.startsWith(File.separator)){
- scopeName = name.substring(1);
- }else{
- scopeName = name;
- }
- newScope.setScopeName(scopeName);
- newScope.setUserCreatedBy(userInfo);
- newScope.setUserModifiedBy(userInfo);
- PolicyController.SavePolicyScope(newScope);
- }else{
- return error("Scope Already Exists");
- }
-
- return success();
- } catch (Exception e) {
- LOG.error("addFolder", e);
- return error(e.getMessage());
- }
- }
-
- //Return Error Object
- private JSONObject error(String msg) throws ServletException {
- try {
- JSONObject result = new JSONObject();
- result.put("success", false);
- result.put("error", msg);
- return new JSONObject().put(RESULT, result);
- } catch (JSONException e) {
- throw new ServletException(e);
- }
- }
-
- //Return Success Object
- private JSONObject success() throws ServletException {
- try {
- JSONObject result = new JSONObject();
- result.put("success", true);
- result.put("error", (Object) null);
- return new JSONObject().put(RESULT, result);
- } catch (JSONException e) {
- throw new ServletException(e);
- }
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/PolicyNotificationMail.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/PolicyNotificationMail.java
deleted file mode 100644
index 186adfa29..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/PolicyNotificationMail.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.admin;
-
-/*
- *
- *
- *
- * */
-import java.io.UnsupportedEncodingException;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.List;
-import java.util.Properties;
-
-import javax.mail.MessagingException;
-import javax.mail.internet.InternetAddress;
-import javax.mail.internet.MimeMessage;
-
-import org.openecomp.policy.controller.PolicyController;
-import org.openecomp.policy.dao.WatchPolicyNotificationDao;
-import org.openecomp.policy.rest.jpa.PolicyVersion;
-import org.openecomp.policy.rest.jpa.WatchPolicyNotificationTable;
-import org.springframework.beans.factory.annotation.Configurable;
-import org.springframework.context.annotation.AnnotationConfigApplicationContext;
-import org.springframework.context.annotation.Bean;
-import org.springframework.mail.javamail.JavaMailSenderImpl;
-import org.springframework.mail.javamail.MimeMessageHelper;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Configurable
-public class PolicyNotificationMail{
- private static Logger logger = FlexLogger.getLogger(PolicyNotificationMail.class);
-
- @Bean
- public JavaMailSenderImpl javaMailSenderImpl(){
- JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
- mailSender.setHost(PolicyController.smtpHost);
- mailSender.setPort(Integer.parseInt(PolicyController.smtpPort));
- mailSender.setUsername(PolicyController.smtpUsername);
- mailSender.setPassword(PolicyController.smtpPassword);
- Properties prop = mailSender.getJavaMailProperties();
- prop.put("mail.transport.protocol", "smtp");
- prop.put("mail.smtp.auth", "true");
- prop.put("mail.smtp.starttls.enable", "true");
- prop.put("mail.debug", "true");
- return mailSender;
- }
-
- @SuppressWarnings("resource")
- public void sendMail(PolicyVersion entityItem, String policyName, String mode, WatchPolicyNotificationDao policyNotificationDao) throws MessagingException {
- String from = PolicyController.smtpUsername;
- String to = "";
- String subject = "";
- String message = "";
- DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
- Date date = new Date();
- if(mode.equalsIgnoreCase("EditPolicy")){
- subject = "Policy has been Updated : "+entityItem.getPolicyName();
- message = "The Policy Which you are watching in " + PolicyController.smtpApplicationName + " has been Updated" + '\n' + '\n' + '\n'+ "Scope + Policy Name : " + policyName + '\n' + "Active Version : " +entityItem.getActiveVersion()
- + '\n' + '\n' + "Modified By : " +entityItem.getModifiedBy() + '\n' + "Modified Time : " +dateFormat.format(date) + '\n' + '\n' + '\n' + '\n' + "Policy Notification System (please don't respond to this email)";
- }
- if(mode.equalsIgnoreCase("Rename")){
- subject = "Policy has been Renamed : "+entityItem.getPolicyName();
- message = "The Policy Which you are watching in " + PolicyController.smtpApplicationName + " has been Renamed" + '\n' + '\n' + '\n'+ "Scope + Policy Name : " + policyName + '\n' + "Active Version : " +entityItem.getActiveVersion()
- + '\n' + '\n' + "Renamed By : " +entityItem.getModifiedBy() + '\n' + "Renamed Time : " +dateFormat.format(date) + '\n' + '\n' + '\n' + '\n' + "Policy Notification System (please don't respond to this email)";
- }
- if(mode.equalsIgnoreCase("DeleteAll")){
- subject = "Policy has been Deleted : "+entityItem.getPolicyName();
- message = "The Policy Which you are watching in " + PolicyController.smtpApplicationName + " has been Deleted with All Versions" + '\n' + '\n' + '\n'+ "Scope + Policy Name : " + policyName + '\n'
- + '\n' + '\n' + "Deleted By : " +entityItem.getModifiedBy() + '\n' + "Deleted Time : " +dateFormat.format(date) + '\n' + '\n' + '\n' + '\n' + "Policy Notification System (please don't respond to this email)";
- }
- if(mode.equalsIgnoreCase("DeleteOne")){
- subject = "Policy has been Deleted : "+entityItem.getPolicyName();
- message = "The Policy Which you are watching in " + PolicyController.smtpApplicationName + " has been Deleted" + '\n' + '\n' + '\n'+ "Scope + Policy Name : " + policyName + '\n' +"Policy Version : " +entityItem.getActiveVersion()
- + '\n' + '\n' + "Deleted By : " +entityItem.getModifiedBy() + '\n' + "Deleted Time : " +dateFormat.format(date) + '\n' + '\n' + '\n' + '\n' + "Policy Notification System (please don't respond to this email)";
- }
- if(mode.equalsIgnoreCase("DeleteScope")){
- subject = "Scope has been Deleted : "+entityItem.getPolicyName();
- message = "The Scope Which you are watching in " + PolicyController.smtpApplicationName + " has been Deleted" + '\n' + '\n' + '\n'+ "Scope + Scope Name : " + policyName + '\n'
- + '\n' + '\n' + "Deleted By : " +entityItem.getModifiedBy() + '\n' + "Deleted Time : " +dateFormat.format(date) + '\n' + '\n' + '\n' + '\n' + "Policy Notification System (please don't respond to this email)";
- }
- if(mode.equalsIgnoreCase("SwitchVersion")){
- subject = "Policy has been SwitchedVersion : "+entityItem.getPolicyName();
- message = "The Policy Which you are watching in " + PolicyController.smtpApplicationName + " has been SwitchedVersion" + '\n' + '\n' + '\n'+ "Scope + Policy Name : " + policyName + '\n' + "Active Version : " +entityItem.getActiveVersion()
- + '\n' + '\n' + "Switched By : " +entityItem.getModifiedBy() + '\n' + "Switched Time : " +dateFormat.format(date) + '\n' + '\n' + '\n' + '\n' + "Policy Notification System (please don't respond to this email)";
- }
- if(mode.equalsIgnoreCase("Move")){
- subject = "Policy has been Moved to Other Scope : "+entityItem.getPolicyName();
- message = "The Policy Which you are watching in " + PolicyController.smtpApplicationName + " has been Moved to Other Scope" + '\n' + '\n' + '\n'+ "Scope + Policy Name : " + policyName + '\n' + "Active Version : " +entityItem.getActiveVersion()
- + '\n' + '\n' + "Moved By : " +entityItem.getModifiedBy() + '\n' + "Moved Time : " +dateFormat.format(date) + '\n' + '\n' + '\n' + '\n' + "Policy Notification System (please don't respond to this email)";
- }
- String policyFileName = entityItem.getPolicyName();
- List<WatchPolicyNotificationTable> watchList = policyNotificationDao.getListDataByPolicyName(policyFileName);
- if(watchList.size() > 0){
- for(WatchPolicyNotificationTable list : watchList){
- to = list.getLoginIds()+"@"+PolicyController.smtpEmailExtension;
- to = to.trim();
- AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
- ctx.register(PolicyNotificationMail.class);
- ctx.refresh();
- JavaMailSenderImpl mailSender = ctx.getBean(JavaMailSenderImpl.class);
- MimeMessage mimeMessage = mailSender.createMimeMessage();
- MimeMessageHelper mailMsg = new MimeMessageHelper(mimeMessage);
- try {
- mailMsg.setFrom(new InternetAddress(from, "Policy Notification System"));
- } catch (UnsupportedEncodingException e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW+"Exception Occured in Policy Notification" +e);
- }
- mailMsg.setTo(to);
- mailMsg.setSubject(subject);
- mailMsg.setText(message);
- mailSender.send(mimeMessage);
- }
- }
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/RESTfulPAPEngine.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/RESTfulPAPEngine.java
deleted file mode 100644
index ecb610264..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/RESTfulPAPEngine.java
+++ /dev/null
@@ -1,732 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.admin;
-
-
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
-import java.util.Base64;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import org.apache.commons.io.IOUtils;
-import org.openecomp.policy.adapter.PolicyAdapter;
-import org.openecomp.policy.rest.XACMLRestProperties;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import org.openecomp.policy.xacml.api.pap.EcompPDP;
-import org.openecomp.policy.xacml.api.pap.EcompPDPGroup;
-import org.openecomp.policy.xacml.api.pap.PAPPolicyEngine;
-import org.openecomp.policy.xacml.std.pap.StdPAPPolicy;
-import org.openecomp.policy.xacml.std.pap.StdPDP;
-import org.openecomp.policy.xacml.std.pap.StdPDPGroup;
-import org.openecomp.policy.xacml.std.pap.StdPDPItemSetChangeNotifier;
-import org.openecomp.policy.xacml.std.pap.StdPDPPolicy;
-import org.openecomp.policy.xacml.std.pap.StdPDPStatus;
-import com.att.research.xacml.api.pap.PAPEngine;
-import com.att.research.xacml.api.pap.PAPException;
-import com.att.research.xacml.api.pap.PDP;
-import com.att.research.xacml.api.pap.PDPGroup;
-//import com.att.research.xacml.api.pap.PDP;
-//import com.att.research.xacml.api.pap.PDPGroup;
-import com.att.research.xacml.api.pap.PDPPolicy;
-import com.att.research.xacml.api.pap.PDPStatus;
-import com.att.research.xacml.util.XACMLProperties;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.introspect.VisibilityChecker;
-import com.fasterxml.jackson.databind.type.CollectionType;
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-/**
- * Implementation of the PAPEngine interface that communicates with a PAP engine in a remote servlet
- * through a RESTful interface
- *
- *
- */
-public class RESTfulPAPEngine extends StdPDPItemSetChangeNotifier implements PAPPolicyEngine {
- private static final Logger logger = FlexLogger.getLogger(RESTfulPAPEngine.class);
-
- //
- // URL of the PAP Servlet that this Admin Console talks to
- //
- private String papServletURLString;
-
- /**
- * Set up link with PAP Servlet and get our initial set of Groups
- * @throws Exception
- */
- public RESTfulPAPEngine (String myURLString) throws PAPException, IOException {
- //
- // Get our URL to the PAP servlet
- //
- this.papServletURLString = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_URL);
- if (this.papServletURLString == null || this.papServletURLString.length() == 0) {
- String message = "The property 'POLICYENGINE_ADMIN_ACTIVE' was not set during installation. Admin Console cannot call PAP.";
- logger.error(message);
- throw new PAPException(message);
- }
-
- //
- // register this Admin Console with the PAP Servlet to get updates
- //
- Object newURL = sendToPAP("PUT", null, null, null, "adminConsoleURL=" + myURLString);
- if (newURL != null) {
- // assume this was a re-direct and try again
- logger.warn("Redirecting to '" + newURL + "'");
- this.papServletURLString = (String)newURL;
- newURL = sendToPAP("PUT", null, null, null, "adminConsoleURL=" + myURLString);
- if (newURL != null) {
- logger.error("Failed to redirect to " + this.papServletURLString);
- throw new PAPException("Failed to register with PAP");
- }
- }
- }
-
-
- //
- // High-level commands used by the Admin Console code through the PAPEngine Interface
- //
-
- @Override
- public EcompPDPGroup getDefaultGroup() throws PAPException {
- EcompPDPGroup newGroup = (EcompPDPGroup)sendToPAP("GET", null, null, StdPDPGroup.class, "groupId=", "default=");
- return newGroup;
- }
-
- @Override
- public void SetDefaultGroup(EcompPDPGroup group) throws PAPException {
- sendToPAP("POST", null, null, null, "groupId=" + group.getId(), "default=true");
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public Set<EcompPDPGroup> getEcompPDPGroups() throws PAPException {
- Set<EcompPDPGroup> newGroupSet;
- newGroupSet = (Set<EcompPDPGroup>) this.sendToPAP("GET", null, Set.class, StdPDPGroup.class, "groupId=");
- return Collections.unmodifiableSet(newGroupSet);
- }
-
-
- @Override
- public EcompPDPGroup getGroup(String id) throws PAPException {
- EcompPDPGroup newGroup = (EcompPDPGroup)sendToPAP("GET", null, null, StdPDPGroup.class, "groupId=" + id);
- return newGroup;
- }
-
- @Override
- public void newGroup(String name, String description)
- throws PAPException, NullPointerException {
- String escapedName = null;
- String escapedDescription = null;
- try {
- escapedName = URLEncoder.encode(name, "UTF-8");
- escapedDescription = URLEncoder.encode(description, "UTF-8");
- } catch (UnsupportedEncodingException e) {
- throw new PAPException("Unable to send name or description to PAP: " + e.getMessage());
- }
-
- this.sendToPAP("POST", null, null, null, "groupId=", "groupName="+escapedName, "groupDescription=" + escapedDescription);
- }
-
-
- /**
- * Update the configuration on the PAP for a single Group.
- *
- * @param group
- * @return
- * @throws PAPException
- */
- public void updateGroup(EcompPDPGroup group) throws PAPException {
-
- try {
-
- //
- // ASSUME that all of the policies mentioned in this group are already located in the correct directory on the PAP!
- //
- // Whenever a Policy is added to the group, that file must be automatically copied to the PAP from the Workspace.
- //
-
-
-// // Copy all policies from the local machine's workspace to the PAP's PDPGroup directory.
-// // This is not efficient since most of the policies will already exist there.
-// // However, the policy files are (probably!) not too huge, and this is a good way to ensure that any corrupted files on the PAP get refreshed.
-//
-
- // now update the group object on the PAP
-
- sendToPAP("PUT", group, null, null, "groupId=" + group.getId());
- } catch (Exception e) {
- String message = "Unable to PUT policy '" + group.getId() + "', e:" + e;
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + message, e);
- throw new PAPException(message);
- }
- }
-
-
- @Override
- public void removeGroup(EcompPDPGroup group, EcompPDPGroup newGroup)
- throws PAPException, NullPointerException {
- String moveToGroupString = null;
- if (newGroup != null) {
- moveToGroupString = "movePDPsToGroupId=" + newGroup.getId();
- }
- sendToPAP("DELETE", null, null, null, "groupId=" + group.getId(), moveToGroupString);
- }
-
- @Override
- public EcompPDPGroup getPDPGroup(EcompPDP pdp) throws PAPException {
- return getPDPGroup(pdp.getId());
- }
-
-
- public EcompPDPGroup getPDPGroup(String pdpId) throws PAPException {
- EcompPDPGroup newGroup = (EcompPDPGroup)sendToPAP("GET", null, null, StdPDPGroup.class, "groupId=", "pdpId=" + pdpId, "getPDPGroup=");
- return newGroup;
- }
-
- @Override
- public EcompPDP getPDP(String pdpId) throws PAPException {
- EcompPDP newPDP = (EcompPDP)sendToPAP("GET", null, null, StdPDP.class, "groupId=", "pdpId=" + pdpId);
- return newPDP;
- }
-
- @Override
- public void newPDP(String id, EcompPDPGroup group, String name, String description, int jmxport) throws PAPException,
- NullPointerException {
- StdPDP newPDP = new StdPDP(id, name, description, jmxport);
- sendToPAP("PUT", newPDP, null, null, "groupId=" + group.getId(), "pdpId=" + id);
- return;
- }
-
- @Override
- public void movePDP(EcompPDP pdp, EcompPDPGroup newGroup) throws PAPException {
- sendToPAP("POST", null, null, null, "groupId=" + newGroup.getId(), "pdpId=" + pdp.getId());
- return;
- }
-
- @Override
- public void updatePDP(EcompPDP pdp) throws PAPException {
- EcompPDPGroup group = getPDPGroup(pdp);
- sendToPAP("PUT", pdp, null, null, "groupId=" + group.getId(), "pdpId=" + pdp.getId());
- return;
- }
-
- @Override
- public void removePDP(EcompPDP pdp) throws PAPException {
- EcompPDPGroup group = getPDPGroup(pdp);
- sendToPAP("DELETE", null, null, null, "groupId=" + group.getId(), "pdpId=" + pdp.getId());
- return;
- }
-
- //Validate the Policy Data
- public boolean validatePolicyRequest(PolicyAdapter policyAdapter, String policyType) throws PAPException {
- Boolean isValidData = false;
-/* StdPAPPolicy newPAPPolicy = new StdPAPPolicy(policyAdapter.getPolicyName(), policyAdapter.getPolicyDescription(), policyAdapter.getEcompName(), policyAdapter.getConfigName(),
- policyAdapter.getDynamicFieldConfigAttributes(), policyAdapter.getConfigBodyData(), policyAdapter.getPolicyID(), policyAdapter.getRuleID(),
- policyAdapter.getRuleCombiningAlgId(), policyAdapter.getParentPath().toString(), policyAdapter.getGitPath().toString(), policyAdapter.getConfigType(), policyAdapter.isEditPolicy());
- */
-
- StdPAPPolicy newPAPPolicy = new StdPAPPolicy(policyAdapter.getPolicyName(), policyAdapter.getConfigBodyData(), policyAdapter.getConfigType(), "Base");
-
- //send JSON object to PAP
- isValidData = (Boolean) sendToPAP("PUT", newPAPPolicy, null, null, "operation=validate", "apiflag=admin", "policyType=" + policyType);
- return isValidData;
- }
-
- //create a new policy
- @SuppressWarnings("unchecked")
- public Map<String, String> createPolicyRequest(PolicyAdapter policyAdapter) throws PAPException {
- Map<String, String> successMap = new HashMap<String, String>();
- StdPAPPolicy newPAPPolicy = null;
-
- if (policyAdapter.getPolicyType().equalsIgnoreCase("Config")) {
-
- if (policyAdapter.getConfigPolicyType().equalsIgnoreCase("Firewall Config")) {
-
- //create StdPAPPolicy object for Config Firewall Policy
- newPAPPolicy = new StdPAPPolicy(policyAdapter.getConfigPolicyType(), policyAdapter.getPolicyName(), policyAdapter.getPolicyDescription(),
- policyAdapter.getConfigName(), policyAdapter.isEditPolicy(), policyAdapter.getDomainDir(), policyAdapter.getJsonBody(),
- policyAdapter.getHighestVersion() ,policyAdapter.getRiskLevel(), policyAdapter.getRiskType(), policyAdapter.getGuard(),policyAdapter.getTtlDate());
-
- }
- else if (policyAdapter.getConfigPolicyType().equalsIgnoreCase("BRMS_Raw")) {
-
- //create StdPAPPolicy object for BRMS_Raw Policy
- newPAPPolicy = new StdPAPPolicy(policyAdapter.getConfigPolicyType(), policyAdapter.getPolicyName(), policyAdapter.getPolicyDescription(),
- policyAdapter.getConfigName(), policyAdapter.isEditPolicy(), policyAdapter.getDomainDir(), policyAdapter.getDynamicFieldConfigAttributes(),
- policyAdapter.getHighestVersion(),policyAdapter.getEcompName(),policyAdapter.getConfigBodyData(),policyAdapter.getRiskLevel(),
- policyAdapter.getRiskType(), policyAdapter.getGuard(),policyAdapter.getTtlDate());
-
- }
- else if (policyAdapter.getConfigPolicyType().equalsIgnoreCase("BRMS_Param")) {
-
- //create StdPAPPolicy object for BRMS_Param Policy
- newPAPPolicy = new StdPAPPolicy(policyAdapter.getConfigPolicyType(), policyAdapter.getPolicyName(), policyAdapter.getPolicyDescription(),
- policyAdapter.getConfigName(), policyAdapter.isEditPolicy(), policyAdapter.getDomainDir(), policyAdapter.getDynamicFieldConfigAttributes(),
- policyAdapter.getHighestVersion(),policyAdapter.getEcompName(),policyAdapter.getConfigBodyData(),policyAdapter.getBRMSParamBody(),
- policyAdapter.getRiskLevel(), policyAdapter.getRiskType(), policyAdapter.getGuard(),policyAdapter.getTtlDate());
-
- }
-
- else if (policyAdapter.getConfigPolicyType().equalsIgnoreCase("Base")) {
-
- //create StdPAPPolicy object for Config Base Policy
- newPAPPolicy = new StdPAPPolicy(policyAdapter.getConfigPolicyType(), policyAdapter.getPolicyName(), policyAdapter.getPolicyDescription(),
- policyAdapter.getEcompName(), policyAdapter.getConfigName(), policyAdapter.getDynamicFieldConfigAttributes(), policyAdapter.getConfigType(),
- policyAdapter.getConfigBodyData(), policyAdapter.isEditPolicy(), policyAdapter.getDomainDir(), policyAdapter.getHighestVersion(),
- policyAdapter.getRiskLevel(), policyAdapter.getRiskType(), policyAdapter.getGuard(),policyAdapter.getTtlDate());
-
- }else if (policyAdapter.getConfigPolicyType().equalsIgnoreCase("ClosedLoop_Fault")) {
-
- //create StdPAPPolicy object for CloseLoop Fault Policy
- newPAPPolicy = new StdPAPPolicy(policyAdapter.getConfigPolicyType(), policyAdapter.getPolicyName(), policyAdapter.getPolicyDescription(),
- policyAdapter.getEcompName(), policyAdapter.getJsonBody(), policyAdapter.isDraft(), policyAdapter.getOldPolicyFileName(), null, policyAdapter.isEditPolicy(),
- policyAdapter.getDomainDir(), policyAdapter.getHighestVersion(),
- policyAdapter.getRiskLevel(), policyAdapter.getRiskType(), policyAdapter.getGuard(),policyAdapter.getTtlDate());
-
- }else if (policyAdapter.getConfigPolicyType().equalsIgnoreCase("ClosedLoop_PM")) {
-
- //create StdPAPPolicy object for CloseLoop PM Policy
- newPAPPolicy = new StdPAPPolicy(policyAdapter.getConfigPolicyType(), policyAdapter.getPolicyName(), policyAdapter.getPolicyDescription(),
- policyAdapter.getEcompName(), policyAdapter.getJsonBody(), policyAdapter.isDraft(), policyAdapter.getOldPolicyFileName(), policyAdapter.getServiceType(),
- policyAdapter.isEditPolicy(), policyAdapter.getDomainDir(), policyAdapter.getHighestVersion(),policyAdapter.getRiskLevel(), policyAdapter.getRiskType(),
- policyAdapter.getGuard(),policyAdapter.getTtlDate());
-
- }else if (policyAdapter.getConfigPolicyType().equalsIgnoreCase("DCAE Micro Service")) {
-
- //create StdPAPPolicy object for DCAE Micro Service Policy
- newPAPPolicy = new StdPAPPolicy(policyAdapter.getConfigPolicyType(), policyAdapter.getPolicyName(), policyAdapter.getPolicyDescription(),
- policyAdapter.getEcompName(), policyAdapter.getConfigName(), policyAdapter.getServiceType(), policyAdapter.getUuid(), policyAdapter.getLocation(),
- policyAdapter.getJsonBody(), policyAdapter.getPriority(), null, policyAdapter.isEditPolicy(), policyAdapter.getDomainDir(),
- policyAdapter.getHighestVersion(),policyAdapter.getRiskLevel(), policyAdapter.getRiskType(), policyAdapter.getGuard(),policyAdapter.getTtlDate());
-
- }
- } else if (policyAdapter.getPolicyType().equalsIgnoreCase("Action")) {
-
- //create StdPAPPolicy object for Action Policy
- newPAPPolicy = new StdPAPPolicy(policyAdapter.getPolicyName(), policyAdapter.getPolicyDescription(), policyAdapter.getDynamicFieldConfigAttributes(),
- policyAdapter.getDynamicRuleAlgorithmLabels(), policyAdapter.getDynamicRuleAlgorithmCombo(), policyAdapter.getDynamicRuleAlgorithmField1(),
- policyAdapter.getDynamicRuleAlgorithmField2(), policyAdapter.getActionPerformer(), policyAdapter.getActionAttribute(),
- policyAdapter.isEditPolicy(), policyAdapter.getDomainDir(), policyAdapter.getHighestVersion());
-
- } else if (policyAdapter.getPolicyType().equalsIgnoreCase("Decision")) {
-
- //create StdPAPPolicy object for Decision Policy
- newPAPPolicy = new StdPAPPolicy(policyAdapter.getPolicyName(), policyAdapter.getPolicyDescription(), policyAdapter.getEcompName(), policyAdapter.getRuleProvider(),
- policyAdapter.getDynamicFieldConfigAttributes(), policyAdapter.getDynamicSettingsMap(), policyAdapter.getDynamicRuleAlgorithmLabels(),
- policyAdapter.getDynamicRuleAlgorithmCombo(), policyAdapter.getDynamicRuleAlgorithmField1(), policyAdapter.getDynamicRuleAlgorithmField2(),
- policyAdapter.getDropDownMap(), policyAdapter.getDynamicVariableList(), policyAdapter.getDataTypeList(), policyAdapter.isEditPolicy(),
- policyAdapter.getDomainDir(), policyAdapter.getHighestVersion());
-
- }
-
- //send JSON object to PAP
- successMap = (Map<String, String>) sendToPAP("PUT", newPAPPolicy, null, null, "operation=create", "apiflag=admin", "policyType=" + policyAdapter.getPolicyType());
- return successMap;
-
-
- }
-
- //update an existing policy
- @SuppressWarnings("unchecked")
- public Map<String, String> updatePolicyRequest(PolicyAdapter policyAdapter) throws PAPException {
- Map<String, String> successMap = new HashMap<String, String>();
- StdPAPPolicy newPAPPolicy = null;
-
- if (policyAdapter.getPolicyType().equalsIgnoreCase("Config")) {
-
- if (policyAdapter.getConfigPolicyType().equalsIgnoreCase("Firewall Config")) {
-
- //create StdPAPPolicy object for Firewall Config Policy
- newPAPPolicy = new StdPAPPolicy(policyAdapter.getConfigPolicyType(), policyAdapter.getPolicyName(), policyAdapter.getPolicyDescription(), policyAdapter.getConfigName(),
- policyAdapter.isEditPolicy(), policyAdapter.getDomainDir(), policyAdapter.getPolicyID(),
- policyAdapter.getRuleID(), policyAdapter.getVersion(), policyAdapter.getJsonBody(), policyAdapter.getHighestVersion(),policyAdapter.getRiskLevel(),
- policyAdapter.getRiskType(), policyAdapter.getGuard(),policyAdapter.getTtlDate());
-
- }
- else if (policyAdapter.getConfigPolicyType().equalsIgnoreCase("BRMS_Raw")) {
- //create StdPAPPolicy object for BRMS_Raw Policy
- newPAPPolicy = new StdPAPPolicy(policyAdapter.getConfigPolicyType(), policyAdapter.getPolicyName(), policyAdapter.getPolicyDescription(),
- policyAdapter.getConfigName(), policyAdapter.isEditPolicy(), policyAdapter.getDomainDir(), policyAdapter.getDynamicFieldConfigAttributes(),
- policyAdapter.getHighestVersion(),policyAdapter.getEcompName(),policyAdapter.getConfigBodyData(),policyAdapter.getRiskLevel(),
- policyAdapter.getRiskType(), policyAdapter.getGuard(),policyAdapter.getTtlDate());
-
- }else if (policyAdapter.getConfigPolicyType().equalsIgnoreCase("BRMS_Param")) {
- //create StdPAPPolicy object for BRMS_Raw Policy
- newPAPPolicy = new StdPAPPolicy(policyAdapter.getConfigPolicyType(), policyAdapter.getPolicyName(), policyAdapter.getPolicyDescription(),
- policyAdapter.getConfigName(), policyAdapter.isEditPolicy(), policyAdapter.getDomainDir(), policyAdapter.getDynamicFieldConfigAttributes(),
- policyAdapter.getHighestVersion(),policyAdapter.getEcompName(),policyAdapter.getConfigBodyData(),policyAdapter.getBRMSParamBody(),
- policyAdapter.getRiskLevel(), policyAdapter.getRiskType(), policyAdapter.getGuard(),policyAdapter.getTtlDate());
-
- }else if (policyAdapter.getConfigPolicyType().equalsIgnoreCase("Base")) {
-
- //create StdPAPPolicy object for Config Base Policy
- newPAPPolicy = new StdPAPPolicy(policyAdapter.getConfigPolicyType(), policyAdapter.getPolicyName(), policyAdapter.getPolicyDescription(), policyAdapter.getEcompName(), policyAdapter.getConfigName(),
- policyAdapter.getDynamicFieldConfigAttributes(), policyAdapter.getConfigBodyData(), policyAdapter.getPolicyID(), policyAdapter.getRuleID(),
- policyAdapter.getConfigType(), policyAdapter.isEditPolicy(), policyAdapter.getVersion(), policyAdapter.getDomainDir(), policyAdapter.getHighestVersion(),policyAdapter.getRiskLevel(),
- policyAdapter.getRiskType(), policyAdapter.getGuard(),policyAdapter.getTtlDate());
-
- }else if (policyAdapter.getConfigPolicyType().equalsIgnoreCase("ClosedLoop_Fault")) {
-
- //create StdPAPPolicy object for CloseLoop Fault Policy
- newPAPPolicy = new StdPAPPolicy(policyAdapter.getConfigPolicyType(), policyAdapter.getPolicyName(), policyAdapter.getPolicyDescription(),
- policyAdapter.getEcompName(), policyAdapter.getJsonBody(), policyAdapter.isDraft(), policyAdapter.getOldPolicyFileName(), null, policyAdapter.isEditPolicy(),
- policyAdapter.getDomainDir(), policyAdapter.getHighestVersion(),policyAdapter.getRiskLevel(), policyAdapter.getRiskType(), policyAdapter.getGuard(),
- policyAdapter.getTtlDate());
-
- }else if (policyAdapter.getConfigPolicyType().equalsIgnoreCase("ClosedLoop_PM")) {
-
- //create StdPAPPolicy object for CloseLoop PM Policy
- newPAPPolicy = new StdPAPPolicy(policyAdapter.getConfigPolicyType(), policyAdapter.getPolicyName(), policyAdapter.getPolicyDescription(),
- policyAdapter.getEcompName(), policyAdapter.getJsonBody(), policyAdapter.isDraft(), policyAdapter.getOldPolicyFileName(), policyAdapter.getServiceType(),
- policyAdapter.isEditPolicy(), policyAdapter.getDomainDir(), policyAdapter.getHighestVersion(),policyAdapter.getRiskLevel(), policyAdapter.getRiskType(),
- policyAdapter.getGuard(),policyAdapter.getTtlDate());
-
- }else if (policyAdapter.getConfigPolicyType().equalsIgnoreCase("DCAE Micro Service")) {
-
- //create StdPAPPolicy object for DCAE Micro Service Policy
- newPAPPolicy = new StdPAPPolicy(policyAdapter.getConfigPolicyType(), policyAdapter.getPolicyName(), policyAdapter.getPolicyDescription(),
- policyAdapter.getEcompName(), policyAdapter.getConfigName(), policyAdapter.getServiceType(), policyAdapter.getUuid(), policyAdapter.getLocation(),
- policyAdapter.getJsonBody(), policyAdapter.getPriority(), null, policyAdapter.isEditPolicy(), policyAdapter.getDomainDir(), policyAdapter.getHighestVersion(),
- policyAdapter.getRiskLevel(), policyAdapter.getRiskType(), policyAdapter.getGuard(),policyAdapter.getTtlDate());
-
- }
- } else if (policyAdapter.getPolicyType().equalsIgnoreCase("Action")) {
-
- //create StdPAPPolicy object for Action Policy
- newPAPPolicy = new StdPAPPolicy(policyAdapter.getPolicyName(), policyAdapter.getPolicyDescription(), policyAdapter.getDynamicFieldConfigAttributes(),
- policyAdapter.getDynamicRuleAlgorithmLabels(), policyAdapter.getDynamicRuleAlgorithmCombo(), policyAdapter.getDynamicRuleAlgorithmField1(),
- policyAdapter.getDynamicRuleAlgorithmField2(), policyAdapter.getActionPerformer(), policyAdapter.getActionAttribute(),
- policyAdapter.isEditPolicy(), policyAdapter.getDomainDir(), policyAdapter.getHighestVersion());
-
- } else if (policyAdapter.getPolicyType().equalsIgnoreCase("Decision")) {
-
- //create StdPAPPolicy object for Decision Policy
- newPAPPolicy = new StdPAPPolicy(policyAdapter.getPolicyName(), policyAdapter.getPolicyDescription(), policyAdapter.getEcompName(), policyAdapter.getRuleProvider(),
- policyAdapter.getDynamicFieldConfigAttributes(), policyAdapter.getDynamicSettingsMap(), policyAdapter.getDynamicRuleAlgorithmLabels(),
- policyAdapter.getDynamicRuleAlgorithmCombo(), policyAdapter.getDynamicRuleAlgorithmField1(), policyAdapter.getDynamicRuleAlgorithmField2(),
- policyAdapter.getDropDownMap(), policyAdapter.getDynamicVariableList(), policyAdapter.getDataTypeList(), policyAdapter.isEditPolicy(),
- policyAdapter.getDomainDir(), policyAdapter.getHighestVersion());
-
- }
-
- //send JSON object to PAP
- successMap = (Map<String, String>) sendToPAP("PUT", newPAPPolicy, null, null, "operation=update", "apiflag=admin", "policyType=" + policyAdapter.getPolicyType());
- return successMap;
- }
-
- @Override
- public void publishPolicy(String id, String name, boolean isRoot,
- InputStream policy, EcompPDPGroup group) throws PAPException {
-
-
- // copy the (one) file into the target directory on the PAP servlet
- copyFile(id, group, policy);
-
- // adjust the local copy of the group to include the new policy
- PDPPolicy pdpPolicy = new StdPDPPolicy(id, isRoot, name);
- group.getPolicies().add(pdpPolicy);
-
- // tell the PAP servlet to include the policy in the configuration
- updateGroup(group);
-
- return;
- }
-
-
-
- /**
- * Copy a single Policy file from the input stream to the PAP Servlet.
- * Either this works (silently) or it throws an exception.
- *
- * @param policyId
- * @param group
- * @param policy
- * @return
- * @throws PAPException
- */
- public void copyFile(String policyId, EcompPDPGroup group, InputStream policy) throws PAPException {
- // send the policy file to the PAP Servlet
- try {
- sendToPAP("POST", policy, null, null, "groupId=" + group.getId(), "policyId="+policyId);
- } catch (Exception e) {
- String message = "Unable to PUT policy '" + policyId + "', e:" + e;
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + message, e);
- throw new PAPException(message);
- }
- }
-
-
- @Override
- public void copyPolicy(PDPPolicy policy, EcompPDPGroup group) throws PAPException {
- if (policy == null || group == null) {
- throw new PAPException("Null input policy="+policy+" group="+group);
- }
- try (InputStream is = new FileInputStream(new File(policy.getLocation())) ) {
- copyFile(policy.getId(), group, is );
- } catch (Exception e) {
- String message = "Unable to PUT policy '" + policy.getId() + "', e:" + e;
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + message, e);
- throw new PAPException(message);
- }
- }
-
-
-
-
- @Override
- public void removePolicy(PDPPolicy policy, EcompPDPGroup group) throws PAPException {
- throw new PAPException("NOT IMPLEMENTED");
-
- }
-
-
-
- /**
- * Special operation - Similar to the normal PAP operations but this one contacts the PDP directly
- * to get detailed status info.
- *
- * @param pdp
- * @return
- * @throws PAPException
- */
-
- public PDPStatus getStatus(EcompPDP pdp) throws PAPException {
- StdPDPStatus status = (StdPDPStatus)sendToPAP("GET", pdp, null, StdPDPStatus.class);
- return status;
- }
-
-
-
-
- //
- // Internal Operations called by the PAPEngine Interface methods
- //
-
- /**
- * Send a request to the PAP Servlet and get the response.
- *
- * The content is either an InputStream to be copied to the Request OutputStream
- * OR it is an object that is to be encoded into JSON and pushed into the Request OutputStream.
- *
- * The Request parameters may be encoded in multiple "name=value" sets, or parameters may be combined by the caller.
- *
- * @param method
- * @param content - EITHER an InputStream OR an Object to be encoded in JSON
- * @param collectionTypeClass
- * @param responseContentClass
- * @param parameters
- * @return
- * @throws Exception
- */
- private Object sendToPAP(String method, Object content, Class collectionTypeClass, Class responseContentClass, String... parameters ) throws PAPException {
- HttpURLConnection connection = null;
- String papID = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_USERID);
- logger.info("User Id is " + papID);
- String papPass = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_PASS);
- logger.info("Pass is: " + papPass);
- Base64.Encoder encoder = Base64.getEncoder();
- String encoding = encoder.encodeToString((papID+":"+papPass).getBytes(StandardCharsets.UTF_8));
- logger.info("Encoding for the PAP is: " + encoding);
- try {
- String fullURL = papServletURLString;
- if (parameters != null && parameters.length > 0) {
- String queryString = "";
- for (String p : parameters) {
- queryString += "&" + p;
- }
- fullURL += "?" + queryString.substring(1);
- }
-
- // special case - Status (actually the detailed status) comes from the PDP directly, not the PAP
- if (method.equals("GET") && (content instanceof EcompPDP) && responseContentClass == StdPDPStatus.class) {
- // Adjust the url and properties appropriately
- String pdpID =((EcompPDP)content).getId();
- fullURL = pdpID + "?type=Status";
- content = null;
- if(CheckPDP.validateID(pdpID)){
- encoding = CheckPDP.getEncoding(pdpID);
- }
- }
-
-
- URL url = new URL(fullURL);
-
- //
- // Open up the connection
- //
- connection = (HttpURLConnection)url.openConnection();
- //
- // Setup our method and headers
- //
- connection.setRequestMethod(method);
-// connection.setRequestProperty("Accept", "text/x-java-properties");
-// connection.setRequestProperty("Content-Type", "text/x-java-properties");
- connection.setUseCaches(false);
- //
- // Adding this in. It seems the HttpUrlConnection class does NOT
- // properly forward our headers for POST re-direction. It does so
- // for a GET re-direction.
- //
- // So we need to handle this ourselves.
- //
- connection.setInstanceFollowRedirects(false);
- connection.setRequestProperty("Authorization", "Basic " + encoding);
- connection.setDoOutput(true);
- connection.setDoInput(true);
-
- if (content != null) {
- if (content instanceof InputStream) {
- try {
- //
- // Send our current policy configuration
- //
- try (OutputStream os = connection.getOutputStream()) {
- int count = IOUtils.copy((InputStream)content, os);
- if (logger.isDebugEnabled()) {
- logger.debug("copied to output, bytes="+count);
- }
- }
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Failed to write content in '" + method + "'", e);
- throw e;
- }
- } else {
- // The content is an object to be encoded in JSON
- ObjectMapper mapper = new ObjectMapper();
- mapper.writeValue(connection.getOutputStream(), content);
- }
- }
- //
- // Do the connect
- //
- connection.connect();
- if (connection.getResponseCode() == 204) {
- logger.info("Success - no content.");
- return null;
- } else if (connection.getResponseCode() == 200) {
- logger.info("Success. We have a return object.");
- String isValidData = connection.getHeaderField("isValidData");
- String isSuccess = connection.getHeaderField("successMapKey");
- Map<String, String> successMap = new HashMap<String, String>();
- if (isValidData != null && isValidData.equalsIgnoreCase("true")){
- logger.info("Policy Data is valid.");
- return true;
- } else if (isValidData != null && isValidData.equalsIgnoreCase("false")) {
- logger.info("Policy Data is invalid.");
- return false;
- } else if (isSuccess != null && isSuccess.equalsIgnoreCase("success")) {
- logger.info("Policy Created Successfully!" );
- String finalPolicyPath = connection.getHeaderField("finalPolicyPath");
- successMap.put("success", finalPolicyPath);
- return successMap;
- } else if (isSuccess != null && isSuccess.equalsIgnoreCase("error")) {
- logger.info("There was an error while creating the policy!");
- successMap.put("error", "error");
- return successMap;
- } else {
- // get the response content into a String
- String json = null;
- // read the inputStream into a buffer (trick found online scans entire input looking for end-of-file)
- java.util.Scanner scanner = new java.util.Scanner(connection.getInputStream());
- scanner.useDelimiter("\\A");
- json = scanner.hasNext() ? scanner.next() : "";
- scanner.close();
- logger.info("JSON response from PAP: " + json);
-
- // convert Object sent as JSON into local object
- ObjectMapper mapper = new ObjectMapper();
- mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
- if (collectionTypeClass != null) {
- // collection of objects expected
- final CollectionType javaType =
- mapper.getTypeFactory().constructCollectionType(collectionTypeClass, responseContentClass);
-
- Object objectFromJSON = mapper.readValue(json, javaType);
- return objectFromJSON;
- } else {
- // single value object expected
- Object objectFromJSON = mapper.readValue(json, responseContentClass);
- return objectFromJSON;
- }
- }
-
- } else if (connection.getResponseCode() >= 300 && connection.getResponseCode() <= 399) {
- // redirection
- String newURL = connection.getHeaderField("Location");
- if (newURL == null) {
- logger.error("No Location header to redirect to when response code="+connection.getResponseCode());
- throw new IOException("No redirect Location header when response code="+connection.getResponseCode());
- }
- int qIndex = newURL.indexOf("?");
- if (qIndex > 0) {
- newURL = newURL.substring(0, qIndex);
- }
- logger.info("Redirect seen. Redirecting " + fullURL + " to " + newURL);
- return newURL;
- } else {
- logger.warn("Unexpected response code: " + connection.getResponseCode() + " message: " + connection.getResponseMessage());
- throw new IOException("Server Response: " + connection.getResponseCode() + ": " + connection.getResponseMessage());
- }
-
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + "HTTP Request/Response to PAP: " + e,e);
- throw new PAPException("Request/Response threw :" + e);
- } finally {
- // cleanup the connection
- if (connection != null) {
- try {
- // For some reason trying to get the inputStream from the connection
- // throws an exception rather than returning null when the InputStream does not exist.
- InputStream is = null;
- try {
- is = connection.getInputStream();
- } catch (Exception e1) {
- // ignore this
- }
- if (is != null) {
- is.close();
- }
-
- } catch (IOException ex) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Failed to close connection: " + ex, ex);
- }
- connection.disconnect();
- }
- }
- }
-
-}
-
-
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/XacmlAdminUI.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/XacmlAdminUI.java
deleted file mode 100644
index aec8a0ac1..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/XacmlAdminUI.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.admin;
-
-
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebInitParam;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-
-
-import org.eclipse.jgit.api.Git;
-import org.eclipse.jgit.api.errors.GitAPIException;
-import org.eclipse.jgit.lib.Repository;
-import org.eclipse.jgit.lib.StoredConfig;
-import org.eclipse.jgit.storage.file.FileRepositoryBuilder;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.openecomp.policy.rest.XACMLRest;
-import org.openecomp.policy.rest.XACMLRestProperties;
-import org.openecomp.policy.rest.dao.UserInfoDao;
-import org.openecomp.policy.rest.jpa.UserInfo;
-import org.openecomp.policy.rest.util.Webapps;
-import org.openecomp.policy.xacml.api.pap.PAPPolicyEngine;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import com.att.research.xacml.util.XACMLProperties;
-import com.google.common.base.Splitter;
-
-
-
-public class XacmlAdminUI extends HttpServlet implements PAPNotificationBroadcaster.PAPNotificationBroadcastListener{
-
- private static final long serialVersionUID = 1L;
- //
- // The PAP Engine
- //
- private PAPPolicyEngine papEngine;
- private static Path repositoryPath;
- private static Repository repository;
-
- @Autowired
- UserInfoDao userInfoDao;
-
- @Autowired
- SessionFactory sessionfactory;
-
- @WebServlet(value = "/policy#/*", description = "XACML Admin Console", asyncSupported = true, loadOnStartup = 1, initParams = { @WebInitParam(name = "XACML_PROPERTIES_NAME", value = "xacml.admin.properties", description = "The location of the properties file holding configuration information.") })
- public static class Servlet extends HttpServlet {
- private static final long serialVersionUID = -5274600248961852835L;
-
- @Override
- public void init(ServletConfig servletConfig) throws ServletException {
- super.init(servletConfig);
- //
- // Common initialization
- //
- XACMLRest.xacmlInit(servletConfig);
- //
- // Initialize GIT repository.
- //
- XacmlAdminUI.initializeGitRepository();
- //
- // Read the Props
- // The webapps Action and Config are read when getActionHome or getConfigHome are called
- try {
- getConfigHome();
- } catch (Exception e) {
- throw new ServletException(e);
- }
-
- }
-
-
- @Override
- public void destroy() {
- if (XacmlAdminUI.repository != null) {
- XacmlAdminUI.repository.close();
- }
- super.destroy();
- }
- }
-
- private static void initializeGitRepository() throws ServletException {
-
- try {
- XacmlAdminUI.repositoryPath = Paths.get(XACMLProperties.getProperty(XACMLRestProperties.PROP_ADMIN_REPOSITORY));
- } catch (Exception e) {
- XACMLProperties.reloadProperties();
- XacmlAdminUI.repositoryPath = Paths.get(XACMLProperties.getProperty(XACMLRestProperties.PROP_ADMIN_REPOSITORY));
- }
- FileRepositoryBuilder builder = new FileRepositoryBuilder();
- try {
- XacmlAdminUI.repository = builder.setGitDir(XacmlAdminUI.repositoryPath.toFile()).readEnvironment().findGitDir().setBare().build();
- if (Files.notExists(XacmlAdminUI.repositoryPath)|| Files.notExists(Paths.get(XacmlAdminUI.repositoryPath.toString(), "HEAD"))) {
- //
- // Create it if it doesn't exist. As a bare repository
- XacmlAdminUI.repository.create();
- //
- // Add the magic file so remote works.
- //
- Path daemon = Paths.get(XacmlAdminUI.repositoryPath.toString(), "git-daemon-export-ok");
- Files.createFile(daemon);
- }
- } catch (IOException e) {
- throw new ServletException(e.getMessage(), e.getCause());
- }
- //
- // Make sure the workspace directory is created
- //
- Path workspace = Paths.get(XACMLProperties.getProperty(XACMLRestProperties.PROP_ADMIN_WORKSPACE));
- workspace = workspace.toAbsolutePath();
- if (Files.notExists(workspace)) {
- try {
- Files.createDirectory(workspace);
- } catch (IOException e) {
- throw new ServletException(e.getMessage(), e.getCause());
- }
- }
- //
- // Create the user workspace directory
- //
- workspace = Paths.get(workspace.toString(), "admin");
-
- if (Files.notExists(workspace)) {
- try {
- Files.createDirectory(workspace);
- } catch (IOException e) {
- throw new ServletException(e.getMessage(), e.getCause());
- }
- }
- //
- // Get the path to where the repository is going to be
- //
- Path gitPath = Paths.get(workspace.toString(), XacmlAdminUI.repositoryPath.getFileName().toString());
- if (Files.notExists(gitPath)) {
- try {
- Files.createDirectory(gitPath);
- } catch (IOException e) {
- throw new ServletException(e.getMessage(), e.getCause());
- }
- }
- //
- // Initialize the domain structure
- //
- String base = null;
- String domain = XacmlAdminUI.getDomain();
- if (domain != null) {
- for (String part : Splitter.on(':').trimResults().split(domain)) {
- if (base == null) {
- base = part;
- }
- Path subdir = Paths.get(gitPath.toString(), part);
- if (Files.notExists(subdir)) {
- try {
- Files.createDirectory(subdir);
- Files.createFile(Paths.get(subdir.toString(), ".svnignore"));
- } catch (IOException e) {
- throw new ServletException(e.getMessage(), e.getCause());
- }
- }
- }
- } else {
- try {
- Files.createFile(Paths.get(workspace.toString(), ".svnignore"));
- base = ".svnignore";
- } catch (IOException e) {
- throw new ServletException(e.getMessage(), e.getCause());
- }
- }
- try {
- //
- // These are the sequence of commands that must be done initially to
- // finish setting up the remote bare repository.
- //
- Git git = Git.init().setDirectory(gitPath.toFile()).setBare(false).call();
- git.add().addFilepattern(base).call();
- git.commit().setMessage("Initialize Bare Repository").call();
- StoredConfig config = git.getRepository().getConfig();
- config.setString("remote", "origin", "url", XacmlAdminUI.repositoryPath.toAbsolutePath().toString());
- config.setString("remote", "origin", "fetch", "+refs/heads/*:refs/remotes/origin/*");
- config.save();
- git.push().setRemote("origin").add("master").call();
- /*
- * This will not work unless
- * git.push().setRemote("origin").add("master").call(); is called
- * first. Otherwise it throws an exception. However, if the push()
- * is called then calling this function seems to add nothing.
- *
- * git.branchCreate().setName("master")
- * .setUpstreamMode(SetupUpstreamMode.SET_UPSTREAM)
- * .setStartPoint("origin/master").setForce(true).call();
- */
- } catch (GitAPIException | IOException e) {
- throw new ServletException(e.getMessage(), e.getCause());
- }
- }
-
- public UserInfo getUserNameFromUserInfoTable(String createdBy){
- String loginId = createdBy;
- Object user = null;
- Session session = sessionfactory.openSession();
- user = session.load(UserInfo.class, loginId);
- return (UserInfo) user;
- }
-
- @Override
- public void updateAllGroups() {
-
- }
-
- public PAPPolicyEngine getPapEngine() {
- return papEngine;
- }
-
- public void setPapEngine(PAPPolicyEngine papEngine) {
- this.papEngine = papEngine;
- }
-
- public static String getConfigHome() {
- return Webapps.getConfigHome();
- }
-
- public static String getDomain() {
- return XACMLProperties.getProperty(XACMLRestProperties.PROP_ADMIN_DOMAIN, "urn");
- }
-
- // get the repository path from property file
- public static Path getRepositoryPath() {
- if(repositoryPath == null){
- try {
- initializeGitRepository();
- } catch (ServletException e) {
-
- }
- }
- return repositoryPath;
- }
-
-
-}
-
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/components/ElasticSearchComponent.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/components/ElasticSearchComponent.java
deleted file mode 100644
index 35a4d14b8..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/components/ElasticSearchComponent.java
+++ /dev/null
@@ -1,426 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.components;
-
-
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.regex.Pattern;
-
-import org.openecomp.policy.dao.PolicyVersionDao;
-import org.openecomp.policy.elk.client.ElkConnector;
-import org.openecomp.policy.elk.client.ElkConnector.PolicyIndexType;
-import org.openecomp.policy.rest.dao.DescriptiveScopeDao;
-import org.openecomp.policy.rest.jpa.DescriptiveScope;
-import org.openecomp.policy.rest.jpa.PolicyVersion;
-import org.openecomp.policy.elk.client.Pair;
-import org.openecomp.policy.elk.client.PolicyLocator;
-import org.springframework.beans.factory.annotation.Autowired;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-
-public class ElasticSearchComponent {
- private static final Logger logger = FlexLogger.getLogger(ElasticSearchComponent.class);
-
-
- private static PolicyVersionDao policyVersionDao;
- private static DescriptiveScopeDao descriptiveScopeDao;
-
- @Autowired
- public ElasticSearchComponent(PolicyVersionDao policyVersionDao){
- ElasticSearchComponent.policyVersionDao = policyVersionDao;
- }
-
- @Autowired
- public ElasticSearchComponent(DescriptiveScopeDao descriptiveScopeDao){
- ElasticSearchComponent.descriptiveScopeDao = descriptiveScopeDao;
- }
-
-
- private volatile static HashMap<Path, String> filteredPolicies = new HashMap<Path, String>();
-
- public static final HashMap<String, String> name2jsonPath = new HashMap<String, String>() {
- private static final long serialVersionUID = 1L;
- {
- put(CLFAULT_UIFIELD_D2_SERVICES_TRINITY, CLFAULT_UIJSON_D2_SERVICES_TRINITY);
- put(CLFAULT_UIFIELD_D2_SERVICES_VUSP, CLFAULT_UIJSON_D2_SERVICES_VUSP);
- put(CLFAULT_UIFIELD_D2_SERVICES_MCR, CLFAULT_UIJSON_D2_SERVICES_MCR);
- put(CLFAULT_UIFIELD_D2_SERVICES_GAMMA, CLFAULT_UIJSON_D2_SERVICES_GAMMA);
- put(CLFAULT_UIFIELD_D2_SERVICES_VDNS, CLFAULT_UIJSON_D2_SERVICES_VDNS);
-
- put(CLFAULT_UIFIELD_EMAIL_ADDRESS, CLFAULT_UIJSON_EMAIL_ADDRESS);
- put(CLFAULT_UIFIELD_TRIGGER_SIGNATURE, CLFAULT_UIJSON_TRIGGER_SIGNATURE);
- put(CLFAULT_UIFIELD_VERIFICATION_SIGNATURE, CLFAULT_UIJSON_VERIFICATION_SIGNATURE);
- put(CLFAULT_UIFIELD_CONNECT_ALL_TRAPS, CLFAULT_UIJSON_CONNECT_ALL_TRAPS);
- put(CLFAULT_UIFIELD_CONNECT_ALL_FAULTS, CLFAULT_UIJSON_CONNECT_ALL_FAULTS);
-
- put(CLFAULT_UIFIELD_POLICY_STATUS_INACTIVE, CLFAULT_UIJSON_POLICY_STATUS_ACTIVE);
- put(CLFAULT_UIFIELD_POLICY_STATUS_ACTIVE, CLFAULT_UIJSON_POLICY_STATUS_INACTIVE);
-
- put(CLPM_UIFIELD_ONSET_MESSAGE, CLPM_UIJSON_ONSET_MESSAGE);
- put(CLPM_UIFIELD_POLICY_NAME, CLPM_UIJSON_POLICY_NAME);
- put(CLPM_UIFIELD_ABATEMENT_MESSAGE, CLPM_UIJSON_ABATEMENT_MESSAGE);
- put(CLPM_UIFIELD_GEOLINK, CLPM_UIJSON_GEOLINK);
- }};
-
- //For AND and OR logical connector AND=0 and OR=1
- private static int connectorSelected;
-
- public static final String CLFAULT_UIFIELD_D2_SERVICES_TRINITY = "Hosted Voice (Trinity)";
- public static final String CLFAULT_UIJSON_D2_SERVICES_TRINITY = "trinity";
-
- public static final String CLFAULT_UIFIELD_D2_SERVICES_VUSP = "vUSP";
- public static final String CLFAULT_UIJSON_D2_SERVICES_VUSP = "vUSP";
-
- public static final String CLFAULT_UIFIELD_D2_SERVICES_MCR = "MCR";
- public static final String CLFAULT_UIJSON_D2_SERVICES_MCR = "mcr";
-
- public static final String CLFAULT_UIFIELD_D2_SERVICES_GAMMA = "Gamma";
- public static final String CLFAULT_UIJSON_D2_SERVICES_GAMMA = "gama";
-
- public static final String CLFAULT_UIFIELD_D2_SERVICES_VDNS = "vDNS";
- public static final String CLFAULT_UIJSON_D2_SERVICES_VDNS = "vDNS";
-
- public static final String CLFAULT_UIFIELD_EMAIL_ADDRESS = "Email Address";
- public static final String CLFAULT_UIJSON_EMAIL_ADDRESS = "emailAddress";
-
- public static final String CLFAULT_UIFIELD_TRIGGER_SIGNATURE = "Trigger Signature";
- public static final String CLFAULT_UIJSON_TRIGGER_SIGNATURE = "triggerSignaturesUsedForUI.signatures";
-
- public static final String CLFAULT_UIFIELD_VERIFICATION_SIGNATURE = "Verification Signature";
- public static final String CLFAULT_UIJSON_VERIFICATION_SIGNATURE = "verificationSignaturesUsedForUI.signatures";
-
- public static final String CLFAULT_UIFIELD_CONNECT_ALL_TRAPS = "Connect All Traps";
- public static final String CLFAULT_UIJSON_CONNECT_ALL_TRAPS = "triggerSignaturesUsedForUI.connectSignatures";
-
- public static final String CLFAULT_UIFIELD_CONNECT_ALL_FAULTS = "Connect All Faults";
- public static final String CLFAULT_UIJSON_CONNECT_ALL_FAULTS = "verificationSignaturesUsedForUI.connectSignatures";
-
- public static final String CLFAULT_UIFIELD_POLICY_STATUS_ACTIVE = "Active";
- public static final String CLFAULT_UIJSON_POLICY_STATUS_ACTIVE = "ACTIVE";
-
- public static final String CLFAULT_UIFIELD_POLICY_STATUS_INACTIVE = "InActive";
- public static final String CLFAULT_UIJSON_POLICY_STATUS_INACTIVE = "INACTIVE";
-
-
- public static final String CLPM_UIFIELD_ONSET_MESSAGE = "Onset Message";
- public static final String CLPM_UIJSON_ONSET_MESSAGE = "attributes.OnsetMessage";
-
- public static final String CLPM_UIFIELD_POLICY_NAME = "PolicyName";
- public static final String CLPM_UIJSON_POLICY_NAME = "attributes.PolicyName";
-
- public static final String CLPM_UIFIELD_ABATEMENT_MESSAGE = "Abatement Message";
- public static final String CLPM_UIJSON_ABATEMENT_MESSAGE = "attributes.AbatementMessage";
-
- public static final String CLPM_UIFIELD_GEOLINK = "Geo Link";
- public static final String CLPM_UIJSON_GEOLINK = "geoLink";
-
- public static void search(String value){
- String policyType = "all";//(String) self.searchPolicyType.getValue()
-
- ArrayList<Pair<ArrayList<String>,ArrayList<String>>> filter_s = new ArrayList<Pair<ArrayList<String>,ArrayList<String>>>();
-
- String searchText = "";//self.searchTextBox.getValue()
- if (searchText == null || searchText.isEmpty()) {
- if (policyType == null || policyType.isEmpty() &&
- !policyType.equals(ElkConnector.PolicyIndexType.closedloop.toString())) {
- if (logger.isDebugEnabled()) {
- logger.debug("Clearing search filters, nothing to search and not closed loop.");
- }
- return;
- }
- } else {
- searchText = searchText.trim();
- //Descriptive Scope.
- /*
- When a item is selected in the "descriptiveScope" comboBox, the name of the item
- is added to the Search-Text Box with the prefix "Descriptive-Scope"
- User needs to press the "Search" button to perform the search.
- */
- if(searchText.contains("Descriptive-Scope="))
- {
- if (logger.isDebugEnabled()) {
- logger.debug("Inside the Descriptive Scope");
- }
- /*
- First item is always String "Descriptive-Scope" before the "=",
- So taking the second item of "split using ="
- */
- String[] dsName= searchText.split("=",2);
- /*
- Trying to find the search String by traversing different items from the dictionary by Scope-Name
- Once when the the "scope-name" is found, we get the search string from dictionary.
- */
- for (int i = 0; i < descriptiveScopeDao.getDescriptiveScope().size(); i++) {
- DescriptiveScope dsSearch=descriptiveScopeDao.getDescriptiveScope().get(i);
- if(dsSearch.getScopeName().equals(dsName[1])){
- searchText=dsSearch.getSearch();
- if (logger.isDebugEnabled()) {
- logger.debug("DescriptiveScope Search String is " +searchText );
- }
- }
- }
- }
-
- if(searchText.contains(":"))
- {
- String connector="&";
-
- if(searchText.contains("&"))
- {
- connector="&";
- connectorSelected=0;
- }
- else if(searchText.contains("|"))
- {
- connector=Pattern.quote("|");
- connectorSelected=1;
- }
- for (String retval: searchText.split(connector)){
-
- int index= retval.indexOf(':');
- String filterKey=null;
- String filterValue=null;
-
- filterKey=retval.substring(0,index);
- filterValue= retval.substring(index+1);
-
- String clSearchBoxFilter=filterKey;
-
- ArrayList<String> clSearchBoxFilterField_s = new ArrayList<String>();
-
- clSearchBoxFilterField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_Fault.name() + "_Body." + clSearchBoxFilter);
- clSearchBoxFilterField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_PM.name() + "_Body." + clSearchBoxFilter);
- clSearchBoxFilterField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_FW.name() + "_Body." + clSearchBoxFilter);
- clSearchBoxFilterField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_MS.name() + "_Body." + clSearchBoxFilter);
-
-
- ArrayList<String> clSearchBoxFilterValue_s = new ArrayList<String>();
- clSearchBoxFilterValue_s.add(filterValue);
-
- filter_s.add(new Pair<ArrayList<String>,ArrayList<String>>(clSearchBoxFilterField_s, clSearchBoxFilterValue_s));
- }
- }
- }
-
- if (policyType != null && !policyType.isEmpty() &&
- policyType.equals(ElkConnector.PolicyIndexType.closedloop.toString())) {
-
- /* closed loop policy type */
-
- String clPolicyType = "";//(String) self.cbSearchCLPolicyType.getValue()
- if (clPolicyType != null && !clPolicyType.isEmpty()) {
- ArrayList<String> clPolicyTypeField_s = new ArrayList<String>();
- clPolicyTypeField_s.add("Policy.PolicyType");
-
- ArrayList<String> clPolicyTypeValue_s = new ArrayList<String>();
- clPolicyTypeValue_s.add(clPolicyType);
-
- filter_s.add(new Pair<ArrayList<String>,ArrayList<String>>(clPolicyTypeField_s, clPolicyTypeValue_s));
- }
-
- String clEcompName = "";//(String) self.cbSearchCLEcompName.getValue()
- if (clEcompName != null && !clEcompName.isEmpty()) {
- clSearchBody(clPolicyType, "ecompname", clEcompName, filter_s);
- }
-
- String clD2Services = "";//(String) self.cbSearchCLD2Services.getValue()
- if (clD2Services != null && !clD2Services.isEmpty()) {
- switch (clD2Services) {
- case CLFAULT_UIFIELD_D2_SERVICES_TRINITY:
- case CLFAULT_UIFIELD_D2_SERVICES_VUSP:
- case CLFAULT_UIFIELD_D2_SERVICES_MCR:
- case CLFAULT_UIFIELD_D2_SERVICES_GAMMA:
- case CLFAULT_UIFIELD_D2_SERVICES_VDNS:
- clSearchBody(clPolicyType, name2jsonPath.get(clD2Services), "true", filter_s);
- break;
- default:
- if (logger.isWarnEnabled())
- logger.warn("Unexpected D2 Service: " + clD2Services);
- break;
- }
- }
-
- String clFaultAction = "";//(String) self.cbSearchCLFaultAction.getValue()
- if (clFaultAction != null && !clFaultAction.isEmpty()) {
- if (clPolicyType == null || clPolicyType.equals(ElkConnector.PolicyType.Config_Fault.name())) {
- clSearchFilter(ElkConnector.PolicyType.Config_Fault.name(), "actions", clFaultAction, filter_s);
- }
- }
-
- String clFaultStatus = "";//(String) self.cbSearchCLFaultStatus.getValue()
- if (clFaultStatus != null && !clFaultStatus.isEmpty()) {
- if (clPolicyType == null || clPolicyType.equals(ElkConnector.PolicyType.Config_Fault.name())) {
- clSearchFilter(ElkConnector.PolicyType.Config_Fault.name(), "closedLoopPolicyStatus", clFaultStatus, filter_s);
- }
- }
-
- String clFaultVnfTypes = "";//(String) self.cbSearchCLFaultVnfTypes.getValue()
- if (clFaultVnfTypes != null && !clFaultVnfTypes.isEmpty()) {
- if (clPolicyType == null || clPolicyType.equals(ElkConnector.PolicyType.Config_Fault.name())) {
- clSearchFilter(ElkConnector.PolicyType.Config_Fault.name(), "vnfType", clFaultVnfTypes, filter_s);
- }
- }
-
- String clPMServiceType = "";//(String) self.cbSearchCLPMServiceType.getValue()
- if (clPMServiceType != null && !clPMServiceType.isEmpty()) {
- if (clPolicyType == null || clPolicyType.equals(ElkConnector.PolicyType.Config_PM.name())) {
- clSearchFilter(ElkConnector.PolicyType.Config_PM.name(), "serviceTypePolicyName", clPMServiceType, filter_s);
- }
- }
-
- String clSearchBoxFilter = "";//(String) self.cbSearchCLTextFilter.getValue()
- if (clSearchBoxFilter != null && !clSearchBoxFilter.isEmpty() &&
- searchText != null && !searchText.isEmpty()) {
-
- if (name2jsonPath.containsKey(clSearchBoxFilter)) {
- clSearchBoxFilter = name2jsonPath.get(clSearchBoxFilter);
- }
-
- ArrayList<String> clSearchBoxFilterField_s = new ArrayList<String>();
- if (clPolicyType == null || clPolicyType.isEmpty()) {
- clSearchBoxFilterField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_Fault.name() + "_Body." + clSearchBoxFilter);
- clSearchBoxFilterField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_PM.name() + "_Body." + clSearchBoxFilter);
- } else {
- clSearchBoxFilterField_s.add("Policy.Body." + clPolicyType + "_Body." + clSearchBoxFilter);
- }
-
- ArrayList<String> clSearchBoxFilterValue_s = new ArrayList<String>();
- clSearchBoxFilterValue_s.add(searchText);
-
- filter_s.add(new Pair<ArrayList<String>,ArrayList<String>>(clSearchBoxFilterField_s, clSearchBoxFilterValue_s));
-
- // deactivate search all fields in case a searchbox filter is provided
- searchText = "";
- }
- }
-
- if ((searchText == null || searchText.isEmpty()) &&
- (filter_s == null || filter_s.size() <=0) ) {
- if (logger.isWarnEnabled()) {
- logger.warn("Clearing search filters, closed loop but nothing to search nor filters");
- }
-
- return;
- }
-
- ArrayList<PolicyLocator> locators;
- try {
- locators = ElkConnector.singleton.policyLocators(toPolicyIndexType(policyType),
- searchText, filter_s,connectorSelected);
- } catch (Exception ise) {
- /*AdminNotification.warn("Search is unavailable: " + ise.getMessage());*/
- return;
- }
-
- synchronized(filteredPolicies) {
- if (locators.isEmpty()) {
- if (logger.isInfoEnabled()) {
- logger.info("No match has been found");
- }
- //AdminNotification.warn("No match has been found");
- return;
- }
-
- // Retrieve active versions
-
- HashMap<String, Boolean> policyVersion_s = new HashMap<String, Boolean>();
- for(int i = 0; i < policyVersionDao.getPolicyVersionData().size(); i++) {
- PolicyVersion entityVersion = policyVersionDao.getPolicyVersionData().get(i);
- String dbPolicy = entityVersion.getPolicyName() + "." + entityVersion.getActiveVersion();
- policyVersion_s.put(dbPolicy, true);
- if (logger.isDebugEnabled())
- logger.debug("Map addition: DB Policy Name: " + dbPolicy);
- }
-
- filteredPolicies.clear();
- for (PolicyLocator p: locators) {
- String dbPolicyName = p.scope + "/" + p.policyType + "_" + p.policyName;
- if (policyVersion_s.containsKey(dbPolicyName)) {
- String filterPolicyName = dbPolicyName + ".xml";
- filteredPolicies.put(Paths.get(filterPolicyName), filterPolicyName);
- if (logger.isInfoEnabled())
- logger.info("Active Version Policy found in search: " +
- dbPolicyName + " -> " + filterPolicyName);
- } else {
- if (logger.isInfoEnabled())
- logger.info("Inactive Version Policy found in search: " + dbPolicyName);
- }
- }
-
- if (filteredPolicies.isEmpty()) {
- if (logger.isInfoEnabled()) {
- logger.info("No match has been found for active versions");
- }
- //AdminNotification.warn("No match has been found for active versions");
- return;
- }
-
- //self.policyContainer.setFilter(self.filteredPolicies);
- }
- /* self.policyContainer.refresh();*/
- }
-
-
- protected static void clSearchBody(String clPolicyType, String bodyField, String bodyValue,
- ArrayList<Pair<ArrayList<String>, ArrayList<String>>> filter_s) {
- if (logger.isDebugEnabled())
- logger.debug("ENTER: " + clPolicyType + ":" + bodyField + ":" + bodyValue);
-
- final ArrayList<String> clBodyField_s = new ArrayList<String>();
- final ArrayList<String> clBodyValue_s = new ArrayList<String>();
-
- if (clPolicyType == null || clPolicyType.isEmpty()) {
- clBodyField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_Fault.name() + "_Body." + bodyField);
- clBodyField_s.add("Policy.Body."+ ElkConnector.PolicyType.Config_PM.name() + "_Body." + bodyField);
- clBodyValue_s.add(bodyValue);
- } else {
- clBodyField_s.add("Policy.Body." + clPolicyType + "_Body." + bodyField);
- clBodyValue_s.add(bodyValue);
- }
- filter_s.add(new Pair<ArrayList<String>, ArrayList<String>>(clBodyField_s, clBodyValue_s));
- }
-
- protected static void clSearchFilter(String clType, String clField, String clValue,
- ArrayList<Pair<ArrayList<String>,ArrayList<String>>> filter_s) {
- if (logger.isDebugEnabled())
- logger.debug("ENTER: " + clType + ":" + clField + ":" + clValue);
-
- ArrayList<String> clSearchField_s = new ArrayList<String>();
- clSearchField_s.add("Policy.Body." + clType + "_Body." + clField);
-
- ArrayList<String> clSearchValue_s = new ArrayList<String>();
- clSearchValue_s.add(clValue);
-
- filter_s.add(new Pair<ArrayList<String>,ArrayList<String>>(clSearchField_s, clSearchValue_s));
- }
-
- public static ElkConnector.PolicyIndexType toPolicyIndexType(String type) throws IllegalArgumentException {
- if (type == null || type.isEmpty())
- return PolicyIndexType.all;
-
- return PolicyIndexType.valueOf(type);
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/components/HumanPolicyComponent.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/components/HumanPolicyComponent.java
deleted file mode 100644
index 037888b7c..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/components/HumanPolicyComponent.java
+++ /dev/null
@@ -1,982 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.components;
-
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.nio.file.FileSystems;
-import java.nio.file.Path;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import javax.xml.bind.JAXBElement;
-
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AdviceExpressionType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AdviceExpressionsType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.ApplyType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeAssignmentExpressionType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeDesignatorType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeSelectorType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.ConditionType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.ObligationExpressionType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.ObligationExpressionsType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicySetType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.RuleType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.VariableReferenceType;
-
-import org.apache.commons.io.FilenameUtils;
-import org.json.JSONObject;
-import org.openecomp.policy.controller.PolicyController;
-import org.openecomp.policy.rest.jpa.FunctionDefinition;
-import org.openecomp.policy.utils.XACMLPolicyWriterWithPapNotify;
-
-import com.att.research.xacml.api.AttributeValue;
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import com.att.research.xacml.std.IdentifierImpl;
-import com.att.research.xacml.std.StdAttribute;
-import com.att.research.xacml.std.StdAttributeValue;
-import org.openecomp.policy.xacml.util.XACMLPolicyScanner;
-import com.att.research.xacml.util.XACMLPolicyScanner.CallbackResult;
-import com.att.research.xacml.util.XACMLPolicyScanner.SimpleCallback;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-
-
-public class HumanPolicyComponent{
-
- private static final Logger logger = FlexLogger.getLogger(HumanPolicyComponent.class);
-
- // Constants Used in XML Creation
- public static final String CATEGORY_RECIPIENT_SUBJECT = "urn:oasis:names:tc:xacml:1.0:subject-category:recipient-subject";
- public static final String CATEGORY_RESOURCE = "urn:oasis:names:tc:xacml:3.0:attribute-category:resource";
- public static final String CATEGORY_ACTION = "urn:oasis:names:tc:xacml:3.0:attribute-category:action";
- public static final String CATEGORY_ACCESS_SUBJECT = "urn:oasis:names:tc:xacml:1.0:subject-category:access-subject";
- public static final String ACTION_ID = "urn:oasis:names:tc:xacml:1.0:action:action-id";
- public static final String SUBJECT_ID = "urn:oasis:names:tc:xacml:1.0:subject:subject-id";
- public static final String RESOURCE_ID = "urn:oasis:names:tc:xacml:1.0:resource:resource-id";
- public static final String FUNTION_INTEGER_ONE_AND_ONLY = "urn:oasis:names:tc:xacml:1.0:function:integer-one-and-only";
- public static final String FUNCTION_STRING_ONE_AND_ONLY = "urn:oasis:names:tc:xacml:1.0:function:string-one-and-only";
- public static final String FUNCTION_STRING_EQUAL = "urn:oasis:names:tc:xacml:1.0:function:string-equal";
- public static final String FUNCTION_STRING_REGEX_MATCH = "org.openecomp.function.regex-match";
- public static final String FUNCTION_STRING_EQUAL_IGNORE = "urn:oasis:names:tc:xacml:3.0:function:string-equal-ignore-case";
- public static final String INTEGER_DATATYPE = "http://www.w3.org/2001/XMLSchema#integer";
- public static final String BOOLEAN_DATATYPE = "http://www.w3.org/2001/XMLSchema#boolean";
- public static final String STRING_DATATYPE = "http://www.w3.org/2001/XMLSchema#string";
- public static final String URI_DATATYPE = "http://www.w3.org/2001/XMLSchema#anyURI";
- public static final String RULE_VARIABLE = "var:";
- public static final String EMPTY_STRING = "";
-
- private static HtmlProcessor htmlProcessor;
-
- private static File policyFile;
-
- public static JSONObject DescribePolicy(final File policyFile) {
- if (logger.isTraceEnabled())
- logger.trace("ENTER");
-
- HumanPolicyComponent.policyFile = policyFile;
- return humanPolicyLayout();
-
- }
-
- private static JSONObject humanPolicyLayout() {
- if (logger.isTraceEnabled())
- logger.trace("ENTER");
-
- try {
- String html = processPolicy();
- JSONObject result = new JSONObject();
- result.put("html", html);
- return result;
- //ByteArrayInputStream is = new ByteArrayInputStream(html.getBytes(StandardCharsets.UTF_8));
-
- } catch (IllegalArgumentException e) {
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE + "cannot build html area por policy", e);
- /*AdminNotification.warn("An error has occurred. Cannot describe this policy: " +
- e.getMessage());*/
- }
- return null;
- }
-
- private static String processPolicy() throws IllegalArgumentException {
- if (logger.isTraceEnabled())
- logger.trace("ENTER");
-
- FileInputStream pIS = null;
- try {
- pIS = new FileInputStream(policyFile);
- Object policy = XACMLPolicyScanner.readPolicy(pIS);
- if (policy == null)
- throw new IllegalArgumentException("Policy File " + policyFile.getName() +
- " cannot be unmarshalled");
-
- HumanPolicyComponent.htmlProcessor =
- new HtmlProcessor(HumanPolicyComponent.policyFile, policy);
-
- Path policyPath = FileSystems.getDefault().getPath(policyFile.getAbsolutePath());
- XACMLPolicyScanner xacmlScanner = new XACMLPolicyScanner(policyPath, htmlProcessor);
- xacmlScanner.scan();
- String html = htmlProcessor.html();
- if (logger.isDebugEnabled())
- logger.debug(policyPath + System.lineSeparator() + html);
-
- return html;
-
- } catch (Exception e) {
- String msg = "Exception reading policy: " + policyFile.getAbsolutePath() +
- ": " + e.getMessage();
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE + msg, e);
- throw new IllegalArgumentException(msg);
- } finally {
- if (pIS != null) {
- try {
- pIS.close();
- } catch (IOException e) {
- logger.warn(e.getMessage(), e);
- }
- }
- }
- }
-
-}
-
-class HtmlProcessor extends SimpleCallback {
-
- private static final Logger logger = FlexLogger.getLogger(HtmlProcessor.class);
-
- private static Map<String, String> function2human;
- static {
- function2human = new HashMap<String, String>();
- function2human.put(HumanPolicyComponent.FUNCTION_STRING_EQUAL, "equal");
- function2human.put(HumanPolicyComponent.FUNCTION_STRING_EQUAL_IGNORE, "equal");
- function2human.put(HumanPolicyComponent.FUNCTION_STRING_ONE_AND_ONLY, "one-and-only");
- function2human.put(HumanPolicyComponent.FUNCTION_STRING_REGEX_MATCH, "matching regular expression");
- function2human.put(HumanPolicyComponent.FUNTION_INTEGER_ONE_AND_ONLY, "one-and-only");
- }
-
- private static Map<String, String> combiningAlgo2human;
- static {
- combiningAlgo2human = new HashMap<String, String>();
- combiningAlgo2human.put("deny-overrides", "to deny if any $placeholder$ below evaluates to <i>deny</i>");
- combiningAlgo2human.put("permit-overrides", "to permit if any $placeholder$ below evaluates to <i>permit</i>");
-
- combiningAlgo2human.put("ordered-deny-overrides", "to deny if any $placeholder$ below evaluates to <i>deny</i>");
- combiningAlgo2human.put("ordered-permit-overrides", "to permit if any $placeholder$ below evaluates to <i>permit</i>");
- combiningAlgo2human.put("deny-unless-permit", "to permit if any $placeholder$ below evaluates to <i>deny</i> and not <i>indeterminate</i>");
-
- combiningAlgo2human.put("permit-unless-deny", "to deny if any $placeholder$ below evaluates to is <i>permit</i> and not <i>indeterminate</i>");
- combiningAlgo2human.put("first-applicable", "to honour the result of the first successfully evaluated $placeholder$ in order");
- combiningAlgo2human.put("only-one-applicable", "to honour the result of the first successfully evaluated $placeholder$ in order");
- }
-
- private Map<String, AttributeIdentifiers> attributeIdentifiersMap = new HashMap<String, AttributeIdentifiers>();
-
- private final StringWriter stringWriter = new StringWriter();
- private final PrintWriter htmlOut = new PrintWriter(stringWriter);
- private final String policyName;
- private final Object rootPolicyObject;
-
- public HtmlProcessor(File policyFile, Object policyObject)
- throws IllegalArgumentException {
- if (logger.isTraceEnabled())
- logger.trace("ENTER");
-
- if (policyFile == null) {
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE + "Null Policy File");
- throw new IllegalArgumentException("Null Policy File");
- }
-
- if (!policyFile.exists() || !policyFile.canRead()) {
- String msg = "Can't access " + policyFile.getAbsolutePath();
- logger.error(XACMLErrorConstants.ERROR_PERMISSIONS + msg);
- throw new IllegalArgumentException(msg);
- }
-
- if (policyObject == null ||
- (!(policyObject instanceof PolicySetType) && !(policyObject instanceof PolicyType))) {
- String msg = "Invalid unmarshalled object: " + policyObject;
- logger.error(XACMLErrorConstants.ERROR_SCHEMA_INVALID + msg);
- throw new IllegalArgumentException(msg);
- }
-
- this.policyName = FilenameUtils.removeExtension(policyFile.getName());
- this.rootPolicyObject = policyObject;
-
- String version = "-";
- if (policyObject instanceof PolicyType) {
- PolicyType policy = (PolicyType) policyObject;
- version = policy.getVersion();
- htmlOut.println("<h1>Policy: " + policyName +
- " (version " + version + ") </h1>");
-
- } else {
- PolicySetType policySet = (PolicySetType) policyObject;
- version = policySet.getVersion();
- htmlOut.println("<h1>Policy Set: " + policyName +
- " (v" + version + ") </h1>");
- }
-
- htmlOut.println("<h3><b>Location: </b>" + policyFile.getPath() + "</h3>");
- htmlOut.println("<hr>");
-
- if (rootPolicyObject instanceof PolicySetType) {
- if (policyName.startsWith("Config_")) {
- htmlOut.println("<p>This is a <b>config</b> policy set.</p>");
- } else if (policyName.startsWith("Action_")) {
- htmlOut.println("<p>This is an <b>action</b> policy set.</p>");
- }
- htmlOut.println("<dl>");
- } else {
- if (policyName.startsWith("Config_")) {
- htmlOut.println("<p>This is a <b>config</b> policy.</p>");
- } else if (policyName.startsWith("Action_")) {
- htmlOut.println("<p>This is an <b>action</b> policy.</p>");
- }
- htmlOut.println("<ol>");
- }
- }
-
- /**
- * @return the attributeIdentifiersMap
- */
- public Map<String, AttributeIdentifiers> getAttributeIdentifiersMap() {
- return attributeIdentifiersMap;
- }
-
- @Override
- public void onFinishScan(Object root) {
- if (logger.isTraceEnabled())
- logger.trace("ENTER");
-
- if (rootPolicyObject instanceof PolicySetType) {
- htmlOut.println("</dl>");
- } else {
- htmlOut.println("</ol>");
- }
-
- htmlOut.println("<hr>");
-
- htmlOut.println("<h3>Attribute Table:</h3>");
-
- htmlOut.println("<table border=\"3\" style=\"width:100%\">");
- htmlOut.println("<tr>");
- htmlOut.print("<th>Category</th>");
- htmlOut.print("<th>Type</th>");
- htmlOut.print("<th>Identifier</th>");
- htmlOut.println("</tr>");
- for(Map.Entry<String, AttributeIdentifiers> entry : this.attributeIdentifiersMap.entrySet()){
- AttributeIdentifiers value = entry.getValue();
- htmlOut.println("<tr>");
- htmlOut.print("<td><a name=\"" + entry.getKey() + "\"></a>" + value.category + "</td>");
- htmlOut.print("<td>" + value.type + "</td>");
- htmlOut.print("<td>" + value.id + "</td>");
- htmlOut.println("</tr>");
- }
- htmlOut.println("</table>");
-
- htmlOut.println("<p></p>");
-
- // Not necessary for the user, uncomment if desired at some point
- // writeRawXACML()
-
- super.onFinishScan(root);
- }
-
- @SuppressWarnings("unused")
- private void writeRawXACML() {
- if (logger.isTraceEnabled())
- logger.trace("ENTER");
-
- htmlOut.println("<hr>");
- htmlOut.println("<h3>Raw XACML:</h3>");
-
- ByteArrayOutputStream bos = new ByteArrayOutputStream();
- if (rootPolicyObject instanceof PolicySetType) {
- XACMLPolicyWriterWithPapNotify.writePolicyFile(bos, (PolicySetType) rootPolicyObject);
- } else if (rootPolicyObject instanceof PolicyType) {
- XACMLPolicyWriterWithPapNotify.writePolicyFile(bos, (PolicyType) rootPolicyObject);
- }
-
- String xacml = bos.toString();
- xacml = xacml.replaceAll("<", "&lt");
- xacml = xacml.replaceAll(">", "&gt");
- htmlOut.println("<pre>");
- htmlOut.println(xacml);
- htmlOut.println("</pre>");
- }
-
- @Override
- public CallbackResult onPreVisitPolicySet(PolicySetType parent, PolicySetType policySet) {
- if (logger.isTraceEnabled())
- logger.trace("PolicySet: " + policySet.getPolicySetId() + " Version: " + policySet.getVersion());
-
- if (parent != null && logger.isTraceEnabled())
- logger.trace("PolicySet: " + policySet.getPolicySetId() +
- "Parent PolicySet: " + parent.getPolicySetId() + " Version: " + parent.getVersion());
-
- String description = policySet.getDescription();
- if (description != null && logger.isTraceEnabled())
- logger.trace("PolicySet: " + policySet.getPolicySetId() +
- " Description: " + policySet.getDescription());
-
- if (parent == null) // root
- policySet(policySet, "dl");
- else
- policySet(policySet, "li");
-
- if (policySet.getPolicySetOrPolicyOrPolicySetIdReference().size() > 0)
- htmlOut.println("<ol>");
-
- return super.onPreVisitPolicySet(parent, policySet);
- }
-
- @Override
- public CallbackResult onPostVisitPolicySet(PolicySetType parent, PolicySetType policySet) {
- if (logger.isTraceEnabled())
- logger.trace("PolicySet: " + policySet.getPolicySetId() + " Version: " + policySet.getVersion());
-
- if (parent != null && logger.isTraceEnabled())
- logger.trace("PolicySet: " + policySet.getPolicySetId() +
- "Parent PolicySet: " + parent.getPolicySetId() + " Version: " + parent.getVersion());
-
- String description = policySet.getDescription();
- if (description != null && logger.isTraceEnabled())
- logger.trace("PolicySet: " + policySet.getPolicySetId() +
- " Description: " + policySet.getDescription());
-
- if (policySet.getPolicySetOrPolicyOrPolicySetIdReference().size() > 0)
- htmlOut.println("</ol>");
-
- htmlOut.println("<p></p>");
-
- return super.onPostVisitPolicySet(parent, policySet);
- }
-
- public void policySet(PolicySetType policySet, String htmlListElement) {
- if (logger.isTraceEnabled())
- logger.trace("PolicySet: " + policySet.getPolicySetId());
-
- String combiningAlgorithm = "-";
- String id = "-";
- String version = "-";
-
-
- if (policySet.getPolicyCombiningAlgId() != null)
- combiningAlgorithm = extractLastIdentifier(policySet.getPolicyCombiningAlgId(), ":");
-
- if (policySet.getPolicySetId() != null)
- id = extractLastIdentifier(policySet.getPolicySetId(), ":");
-
- if (policySet.getVersion() != null)
- version = policySet.getVersion();
-
-
- htmlOut.println("<" + htmlListElement + "><b>Policy Set ID</b>: <i>" + id +
- "</i> (v" + version + ") " + "</" + htmlListElement + ">");
-
- if (policySet.getTarget() == null ||
- policySet.getTarget().getAnyOf() == null ||
- policySet.getTarget().getAnyOf().size() <= 0) {
- htmlOut.println("<p>This policy set applies to all requests.</p>");
- } else {
- htmlOut.print("<p>");
- htmlOut.print("This policy set applies to requests with attributes ");
-
- List<AnyOfType> anyOf_s = policySet.getTarget().getAnyOf();
- target(anyOf_s);
- htmlOut.println(".</p>");
- }
-
- if (policySet.getPolicySetOrPolicyOrPolicySetIdReference() != null &&
- policySet.getPolicySetOrPolicyOrPolicySetIdReference().size() > 0) {
- String algoDesc = combiningAlgo2human.get(combiningAlgorithm);
- if (algoDesc != null) {
- algoDesc = algoDesc.replace("$placeholder$", "policy") + " (" + "<i>" + combiningAlgorithm + "</i>)";
- } else {
- algoDesc = combiningAlgorithm;
- }
-
- htmlOut.println("<p>The result is " + algoDesc + ": </p>");
- }
- }
-
- @Override
- public CallbackResult onPreVisitPolicy(PolicySetType parent, PolicyType policy) {
- if (logger.isTraceEnabled())
- logger.trace("PolicySet: " + policy.getPolicyId() + " Version: " + policy.getVersion());
-
- if (parent != null && logger.isTraceEnabled())
- logger.trace("PolicySet: " + policy.getPolicyId() +
- "Parent PolicySet: " + parent.getPolicySetId() + " Version: " + parent.getVersion());
-
- String description = policy.getDescription();
- if (description != null && logger.isTraceEnabled())
- logger.trace("PolicySet: " + policy.getPolicyId() +
- " Description: " + policy.getDescription());
-
- policy(policy);
-
- if (policy.getCombinerParametersOrRuleCombinerParametersOrVariableDefinition().size() > 0)
- htmlOut.println("<ol type=\"i\">");
-
- return super.onPreVisitPolicy(parent, policy);
- }
-
- @Override
- public CallbackResult onPostVisitPolicy(PolicySetType parent, PolicyType policy) {
- if (logger.isTraceEnabled())
- logger.trace("PolicySet: " + policy.getPolicyId() + " Version: " + policy.getVersion());
-
- if (parent != null && logger.isTraceEnabled())
- logger.trace("PolicySet: " + policy.getPolicyId() +
- "Parent PolicySet: " + parent.getPolicySetId() + " Version: " + parent.getVersion());
-
- if (policy.getCombinerParametersOrRuleCombinerParametersOrVariableDefinition().size() > 0)
- htmlOut.println("</ol>");
-
- htmlOut.println("<p></p>");
- return super.onPostVisitPolicy(parent, policy);
- }
-
- public void policy(PolicyType policy) {
- if (logger.isTraceEnabled())
- logger.trace("Policy: " + policy.getPolicyId());
-
- String combiningAlgorithm = "-";
- String id = "-";
- String version = "-";
-
-
- if (policy.getRuleCombiningAlgId() != null)
- combiningAlgorithm = extractLastIdentifier(policy.getRuleCombiningAlgId(), ":");
-
- if (policy.getPolicyId() != null)
- id = extractLastIdentifier(policy.getPolicyId(), ":");
-
- if (policy.getVersion() != null)
- version = policy.getVersion();
-
- htmlOut.println("<li><b>Policy ID</b>: <i>" + id +
- "</i> (v" + version + ") " + "</li>");
-
- if (policy.getTarget() == null ||
- policy.getTarget().getAnyOf() == null ||
- policy.getTarget().getAnyOf().size() <= 0) {
- htmlOut.println("<p>This policy applies to all requests.</p>");
- } else {
- htmlOut.print("<p>");
- htmlOut.print("This policy applies to requests with attributes ");
-
- List<AnyOfType> anyOf_s = policy.getTarget().getAnyOf();
- target(anyOf_s);
- htmlOut.println(".</p>");
- }
-
- if (policy.getCombinerParametersOrRuleCombinerParametersOrVariableDefinition() != null &&
- policy.getCombinerParametersOrRuleCombinerParametersOrVariableDefinition().size() > 0) {
- String algoDesc = combiningAlgo2human.get(combiningAlgorithm);
- if (algoDesc != null) {
- algoDesc = algoDesc.replace("$placeholder$", "rule") + " (<i>" + combiningAlgorithm + "</i>)";
- } else {
- algoDesc = combiningAlgorithm;
- }
- htmlOut.println("<p>The result is " + algoDesc + ": </p>");
- }
- }
-
-
- @Override
- public CallbackResult onPreVisitRule(PolicyType parent, RuleType rule) {
- if (logger.isTraceEnabled())
- logger.trace("Rule: " + rule.getRuleId());
-
- if (parent != null && logger.isTraceEnabled())
- logger.trace("Parent Policy: " + parent.getPolicyId() + " Version: " + parent.getVersion());
-
- String description = rule.getDescription();
- if (description != null && logger.isTraceEnabled()) {
- logger.trace("Rule: " + rule.getRuleId() +
- " Description: " + rule.getDescription());
- }
-
- rule(rule);
-
- return super.onPreVisitRule(parent, rule);
- }
-
- @Override
- public CallbackResult onPostVisitRule(PolicyType parent, RuleType rule) {
- if (logger.isTraceEnabled())
- logger.trace("Rule: " + rule.getRuleId());
-
- if (parent != null && logger.isTraceEnabled())
- logger.trace("Parent Policy: " + parent.getPolicyId() + " Version: " + parent.getVersion());
-
- return super.onPostVisitRule(parent, rule);
- }
-
- public void rule(RuleType rule) {
- if (logger.isTraceEnabled())
- logger.trace("Rule: " + rule.getRuleId());
-
- String id = "-";
-
- if (rule.getRuleId() != null)
- id = extractLastIdentifier(rule.getRuleId(), ":");
-
- htmlOut.println("<li><b>Rule ID</b>: <i>" + id + "</i></li>");
-
- htmlOut.println("<dl>");
-
- htmlOut.print("<p>");
- htmlOut.print(rule.getEffect().value());
-
- if (rule.getTarget() == null ||
- rule.getTarget().getAnyOf() == null ||
- rule.getTarget().getAnyOf().size() <= 0) {
- htmlOut.print(" for all requests");
- } else {
- List<AnyOfType> anyOf_s = rule.getTarget().getAnyOf();
- htmlOut.print(" for requests with attributes ");
- target(anyOf_s);
- }
-
- if (rule.getCondition() != null) {
- htmlOut.print(" when ");
- htmlOut.println(this.stringifyCondition(rule.getCondition()) + " ");
- } else {
- htmlOut.print(" with no conditions ");
- }
-
- if (rule.getAdviceExpressions() != null) {
- advice(rule.getAdviceExpressions());
- if (rule.getObligationExpressions() != null)
- htmlOut.println(" and ");
- }
-
- if (rule.getObligationExpressions() != null) {
- obligation(rule.getObligationExpressions());
- }
-
- htmlOut.println("</p>");
- }
-
- private void advice(AdviceExpressionsType adviceExpressions) {
- if (logger.isTraceEnabled())
- logger.trace("ENTER");
-
- List<AdviceExpressionType> ae = adviceExpressions.getAdviceExpression();
- for (AdviceExpressionType expression : ae) {
- htmlOut.println(" with <b>advice</b> (<i>" + expression.getAdviceId() + "</i>) on <i>" +
- expression.getAppliesTo().value() + "</i>:" );
- htmlOut.println("<ol type=\"a\">");
- List<AttributeAssignmentExpressionType> assignments = expression.getAttributeAssignmentExpression();
- if (assignments != null) {
- processAttributeAssignments(assignments);
- }
- htmlOut.println("</ol>");
- }
- }
-
- private void obligation(ObligationExpressionsType obligationExpressions) {
- if (logger.isTraceEnabled())
- logger.trace("ENTER");
-
- List<ObligationExpressionType> oe = obligationExpressions.getObligationExpression();
- for (ObligationExpressionType expression : oe) {
- htmlOut.println(" with <b>obligations</b> (<i>" + expression.getObligationId() + "</i>) to be fullfilled on <i>" +
- expression.getFulfillOn().value() + "</i>:" );
- htmlOut.println("<ol type=\"a\">");
- List<AttributeAssignmentExpressionType> assignments = expression.getAttributeAssignmentExpression();
- if (assignments != null) {
- processAttributeAssignments(assignments);
- }
- htmlOut.println("</ol>");
- }
- }
-
- /**
- * @param assignments
- */
- private void processAttributeAssignments(List<AttributeAssignmentExpressionType> assignments) {
- if (logger.isTraceEnabled())
- logger.trace("ENTER");
-
- for (AttributeAssignmentExpressionType assignment : assignments) {
- String succintIdentifier = extractLastIdentifier(assignment.getCategory(), ":") +
- ":" + extractLastIdentifier(assignment.getAttributeId(), ":");
- AttributeIdentifiers attributeIdentifiers = null;
- if (!this.attributeIdentifiersMap.containsKey(succintIdentifier)) {
- // Note Attribute Assignments do not have an Attribute Type, assume string
- // but note this case is unlikely since attributeMap should have been populated
- // during parsing of target and conditions, and not in this case for Advice and
- // Obligations.
- attributeIdentifiers = new AttributeIdentifiers(assignment.getCategory(),
- "NA",
- assignment.getAttributeId());
- this.attributeIdentifiersMap.put(succintIdentifier, attributeIdentifiers);
- }
-
- htmlOut.print("<li><i><a href=\"#" + succintIdentifier + "\">" + succintIdentifier + "</a></i> is ");
- // AttributeValueType
- JAXBElement<?> jaxbExp = assignment.getExpression();
- Object assignmentObject = jaxbExp.getValue();
- if (assignmentObject instanceof AttributeValueType) {
- AttributeValueType avt = (AttributeValueType) assignmentObject;
- if (attributeIdentifiers != null) {
- attributeIdentifiers.type = avt.getDataType();
- }
- int numContent = avt.getContent().size();
- int countContent = 0;
- for (Object c: avt.getContent()) {
- countContent++;
- htmlOut.print("<i>" + c + "</i>");
- if (countContent < numContent)
- htmlOut.print(" or ");
- }
- htmlOut.println("</li>");
- } else if (assignmentObject instanceof AttributeDesignatorType) {
- htmlOut.println("NA");
- } else if (assignmentObject instanceof AttributeSelectorType) {
- htmlOut.println("NA");
- } else if (assignmentObject instanceof ApplyType) {
- htmlOut.println("NA");
- } else {
- htmlOut.println("Unexpected");
- }
- }
- }
-
- /**
- *
- * @param anyOfList
- */
- public void target(List<AnyOfType> anyOfList) {
- if (logger.isTraceEnabled())
- logger.trace("ENTER");
-
- if (anyOfList != null) {
- Iterator<AnyOfType> iterAnyOf = anyOfList.iterator();
- String targetInHuman = "";
- while (iterAnyOf.hasNext()) {
- AnyOfType anyOf = iterAnyOf.next();
- List<AllOfType> allOfList = anyOf.getAllOf();
- if (allOfList != null) {
- Iterator<AllOfType> iterAllOf = allOfList.iterator();
- while (iterAllOf.hasNext()) {
- AllOfType allOf = iterAllOf.next();
- List<MatchType> matchList = allOf.getMatch();
- if (matchList != null) {
- Iterator<MatchType> iterMatch = matchList.iterator();
- if (matchList.size() > 1)
- targetInHuman += "(";
- while (iterMatch.hasNext()) {
- MatchType match = iterMatch.next();
- //
- // Finally down to the actual attribute
- //
- StdAttribute attribute = null;
- AttributeValueType value = match.getAttributeValue();
- String attributeDataType = null;
- if (match.getAttributeDesignator() != null && value != null) {
- AttributeDesignatorType designator = match.getAttributeDesignator();
- attribute = new StdAttribute(new IdentifierImpl(designator.getCategory()),
- new IdentifierImpl(designator.getAttributeId()),
- new StdAttributeValue<List<?>>(new IdentifierImpl(value.getDataType()), value.getContent()),
- designator.getIssuer(),
- false);
- attributeDataType = designator.getDataType();
- } else if (match.getAttributeSelector() != null && value != null) {
- AttributeSelectorType selector = match.getAttributeSelector();
- attribute = new StdAttribute(new IdentifierImpl(selector.getCategory()),
- new IdentifierImpl(selector.getContextSelectorId()),
- new StdAttributeValue<List<?>>(new IdentifierImpl(value.getDataType()), value.getContent()),
- null,
- false);
- attributeDataType = selector.getDataType();
- } else {
- logger.warn("NULL designator/selector or value for match.");
- attributeDataType = "NA";
- }
-
- String functionName = getHumanFunction(match.getMatchId());
-
- String succintIdentifier = extractLastIdentifier(attribute.getCategory().stringValue(), ":") +
- ":" + extractLastIdentifier(attribute.getAttributeId().stringValue(), ":");
- AttributeIdentifiers ai = new AttributeIdentifiers(attribute.getCategory().stringValue(),
- attributeDataType,
- attribute.getAttributeId().stringValue());
- this.attributeIdentifiersMap.put(succintIdentifier,ai);
-
- targetInHuman += "<i><a href=\"#" + succintIdentifier + "\">" + succintIdentifier + "</a></i> " + functionName + " ";
-
- int numAttributes = attribute.getValues().size();
- int count = 0;
- for (AttributeValue<?> v: attribute.getValues()) {
- count++;
- if (v.getValue() instanceof Collection<?>) {
- Collection<?> value_s = (Collection<?>) v.getValue();
- int numValues = value_s.size();
- int countValues = 0;
- for (Object o : value_s) {
- countValues++;
- targetInHuman += " <I>" + o + "</I>";
- if (countValues < numValues) {
- targetInHuman += ", or";
- }
- }
- } else {
- targetInHuman += " <I>" + v.getValue() + "</I>";
- if (count < numAttributes) {
- targetInHuman += ", or ";
- }
- }
- }
-
- if (iterMatch.hasNext()) {
- targetInHuman += " and ";
- }
- } // end iterMatch
- if (matchList.size() > 1) {
- targetInHuman += ")";
- }
- }
- if (iterAllOf.hasNext()) {
- targetInHuman += " or ";
- }
- } // end iterAllOf
- }
- if (iterAnyOf.hasNext()) {
- targetInHuman = "(" + targetInHuman + ")" + " or ";
- } else {
- if (anyOfList.size() > 1) {
- targetInHuman += ")";
- }
- }
- } // end iterAnyOf
- htmlOut.println(targetInHuman);
- }
- }
-
- private String getHumanFunction(String matchId) {
- if (HtmlProcessor.function2human.containsKey(matchId)) {
- return HtmlProcessor.function2human.get(matchId);
- }
-
- FunctionDefinition function = PolicyController.getFunctionIDMap().get(matchId);
- String functionName = function.getShortname();
-
- if (logger.isDebugEnabled()) {
- logger.debug(functionName +
- ": #args[" + function.getArgLb() + "," + function.getArgUb() +"]");
- }
-
- return extractLastIdentifier(removePrimitives(functionName), ":");
- }
-
- public String html() {
- this.htmlOut.flush();
- return this.stringWriter.toString();
- }
-
- private String extractLastIdentifier(String in, String separator) {
- int lastIndex = in.lastIndexOf(separator);
- if (lastIndex < 0)
- return in;
- else
- return in.substring(lastIndex+1);
- }
-
- private String removePrimitives(String in) {
- in = in.replace("string-", "");
- in = in.replace("integer-", "");
- in = in.replace("double-", "");
- in = in.replace("boolean-", "");
- return in;
- }
-
- private String stringifyCondition(ConditionType condition) {
- if (condition.getExpression() == null) {
- return "";
- }
-
- return stringifyExpression(condition.getExpression().getValue());
- }
-
- private String stringifyExpression(Object expression) {
- if (expression instanceof ApplyType) {
- ApplyType apply = (ApplyType) expression;
- FunctionDefinition function = PolicyController.getFunctionIDMap().get(apply.getFunctionId());
- String functionName = function.getShortname();
-
- if (logger.isDebugEnabled()) {
- logger.debug(functionName +
- ": #args[" + function.getArgLb() + "," + function.getArgUb() +"]");
- }
-
- if (functionName.contains("one-and-only")) {
- if (logger.isDebugEnabled()) {
- logger.debug("one-and-only found: " + functionName);
- }
-
- List<JAXBElement<?>> exps = apply.getExpression();
- if (exps == null || exps.size() == 0)
- return "";
- else {
- String forResult = "";
- for (JAXBElement<?> e : exps) {
- Object v = e.getValue();
- if (logger.isDebugEnabled()) {
- logger.debug("one-and-only children: " + v);
- }
- if (v != null) {
- // C: return stringifyExpression(v, result);
- forResult += stringifyExpression(v);
- }
- }
- return forResult;
- }
- }
-
- final int numExpr = (apply.getExpression() == null) ? -1 : apply.getExpression().size();
- if (numExpr <= 0) {
- if (logger.isDebugEnabled()) {
- logger.debug(functionName + " 0 expressions: " + numExpr);
- }
- return "";
- } else if (numExpr == 1) {
- // eg: not
- if (logger.isDebugEnabled()) {
- logger.debug(functionName + " 1 expression: " + numExpr);
- }
- String applySubresult = "";
- for (JAXBElement<?> e : apply.getExpression()) {
- Object v = e.getValue();
- if (v != null) {
- applySubresult += this.stringifyExpression(e.getValue());
- }
- }
- return " " + removePrimitives(functionName) + " (" + applySubresult + ")";
- } else {
- // > 1 arguments
- if (logger.isDebugEnabled()) {
- logger.debug(functionName + " > 1 expressions: " + numExpr);
- }
- String applySubresult = "";
- int exprCount = 0;
- for (JAXBElement<?> e : apply.getExpression()) {
- exprCount++;
- Object ev = e.getValue();
- if (ev != null) {
- if (ev instanceof ApplyType) {
- if (((ApplyType) ev).getFunctionId().contains("one-and-only")) {
- applySubresult += this.stringifyExpression(e.getValue());
- } else {
- applySubresult += "(" + this.stringifyExpression(e.getValue()) + ")";
- }
- } else {
- applySubresult += this.stringifyExpression(e.getValue());
- }
-
- if (exprCount < numExpr) {
- applySubresult += " " + removePrimitives(functionName) + " ";
- }
- }
- }
- return applySubresult;
- }
- }
- if (expression instanceof AttributeDesignatorType) {
- AttributeDesignatorType adt = (AttributeDesignatorType) expression;
-
- String succintIdentifier = extractLastIdentifier(adt.getCategory(), ":") +
- ":" + extractLastIdentifier(adt.getAttributeId(), ":");
- AttributeIdentifiers ai = new AttributeIdentifiers(adt.getCategory(),
- adt.getDataType(),
- adt.getAttributeId());
- this.attributeIdentifiersMap.put(succintIdentifier,ai);
-
- return "<a href=\"#" + succintIdentifier + "\">" + succintIdentifier + "</a>";
- }
- if (expression instanceof AttributeSelectorType) {
- AttributeSelectorType ast = (AttributeSelectorType) expression;
-
- String attrName = ast.getPath();
- if (attrName == null || (attrName.length() == 0)) {
- return "";
- }
-
- String textSelector = "/text()";
- if (attrName.endsWith(textSelector)) {
- attrName = attrName.substring(0, attrName.length() - textSelector.length());
- }
-
- attrName = extractLastIdentifier(attrName, "/");
- attrName = extractLastIdentifier(attrName, ":");
- return " " + attrName;
- }
- if (expression instanceof AttributeValueType) {
- AttributeValueType avt = (AttributeValueType) expression;
- List<Object> content = avt.getContent();
- String value_s = "";
- for (Object o: content) {
- value_s += " " + o.toString();
- }
- return " " + value_s;
- }
- if (expression instanceof VariableReferenceType) {
- //
- // Really unknown - the variable may or may not have been defined
- //
- return " VARIABLEREF-NOT-HANDLED";
- } else {
- throw new IllegalArgumentException("Unexpected input expression");
- }
- }
-}
-
-
-class AttributeIdentifiers {
- public final String category;
- public String type;
- public final String id;
-
- public AttributeIdentifiers(String category, String type, String id) {
- this.category = category;
- this.type = type;
- this.id = id;
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/components/PolicyImportWindow.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/components/PolicyImportWindow.java
deleted file mode 100644
index c70e331d0..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/components/PolicyImportWindow.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.components;
-
-
-/*
- *
- */
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Set;
-
-import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
-import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
-import org.apache.commons.io.IOUtils;
-import org.openecomp.policy.controller.PolicyController;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-
-
-public class PolicyImportWindow{
-
- private static final Logger logger = FlexLogger.getLogger(PolicyImportWindow.class);
- private static final int BUFFER_SIZE = 4096;
- private static Path directory = PolicyController.getGitPath();
- private Path newfile = null;
- private boolean succeeded = false;
- public static String CONFIG_HOME = PolicyController.getConfigHome();
- public static String ACTION_HOME = PolicyController.getActionHome();
- private Boolean superadmin = false;
- private ArrayList<String> xacmlFiles = new ArrayList<String>();
- /**
- * The constructor should first build the main layout, set the
- * composition root and then do any custom initialization.
- *
- * The constructor will not be automatically regenerated by the
- * visual editor.
- */
-
- public OutputStream receiveUpload(String filename, String mimeType) {
-
- //
- // Create its new full path
- //
- this.newfile = Paths.get(PolicyImportWindow.directory.toString(), filename);
- //
- // Does it already exist?
- //
- if (Files.exists(this.newfile)) {
- return null;
- }
- //
- // Try to create the output stream
- //
- try {
- return new FileOutputStream(this.newfile.toFile());
- } catch (FileNotFoundException e) {
- logger.error("Failed to create uploaded file", e);
- }
- return null;
- }
-
- public void Upload(){
- TarArchiveEntry entry = null;
- TarArchiveInputStream extractFile = null;
- try {
- extractFile = new TarArchiveInputStream (new FileInputStream(this.newfile.toFile()));
- } catch (FileNotFoundException e1) {
- e1.printStackTrace();
- }
- //Create a loop to read every single entry in TAR file
- try {
- while ((entry = extractFile.getNextTarEntry()) != null) {
- this.superadmin = true;
- try{
- copyFileToLocation(extractFile, entry, xacmlFiles, null, superadmin);
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR+"Exception while Importing Polcies"+e);
- }
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
-
- }
-
-
-
-
-
- //Copy files to Directorys
- public static void copyFileToLocation(TarArchiveInputStream extractFile, TarArchiveEntry entry, ArrayList<String> xacmlFiles, Set<String> finalScopes, Boolean superadminValue ) throws IOException{
- String individualFiles = "";
- int offset = 0;
- FileOutputStream outputFile=null;
- // Get the name of the file
- if(superadminValue){
- individualFiles = entry.getName();
- }else{
- for(int i =0; i< finalScopes.size(); i++){
- if(entry.getName().startsWith(finalScopes.toArray()[i].toString())){
- individualFiles = entry.getName();
- }
- }
- }
-
- if(individualFiles.endsWith(".xls")){
- if(individualFiles.contains("\\")){
- individualFiles = individualFiles.replace("\\", File.separator);
- }else if(individualFiles.contains("/")){
- individualFiles = individualFiles.replace("/", File.separator);
- }
- return;
- }
-
- individualFiles = individualFiles.replace("/", File.separator);
- individualFiles = individualFiles.replace("\\", File.separator);
-
- //Create the path with the entry name
- String filePath = directory.toAbsolutePath() + File.separator + individualFiles;
- String configPath = CONFIG_HOME + File.separator + individualFiles;
- String actionPath = ACTION_HOME + File.separator + individualFiles;
- logger.info("File Name in TAR File is: " + individualFiles);
- logger.info("Xml directory file path: " + filePath);
- logger.info("Config Home directory file path: " + configPath);
- logger.info("Action Home directory file path: " + actionPath);
-
-
- // Get Size of the file and create a byte array for the size
- byte[] content = new byte[(int) entry.getSize()];
-
- offset=0;
- logger.info("File Name in TAR File is: " + individualFiles);
- logger.info("Size of the File is: " + entry.getSize());
- // Read file from the archive into byte array
- extractFile.read(content, offset, content.length - offset);
- if (!entry.isDirectory()) {
- if(!individualFiles.contains(".Config_") || !individualFiles.contains(".Action_")){
- // if the entry is a file, extracts it
- String filePath1 = filePath.substring(0, filePath.lastIndexOf(File.separator));
- File newFile = new File(filePath1);
- if(!(newFile.exists())) {
- File dir = new File(filePath1);
- dir.mkdir();
- extractFile(extractFile, filePath);
- }
- }
- } else {
- // if the entry is a directory, make the director
- File dir = new File(filePath);
- dir.mkdir();
- }
- // Define OutputStream for writing the file
- if(individualFiles.contains(".Config_")){
- outputFile=new FileOutputStream(new File(configPath));
- }else if(individualFiles.contains(".Action_")){
- outputFile=new FileOutputStream(new File(actionPath));
- }else{
- if(filePath != null){
- outputFile=new FileOutputStream(new File(filePath));
- xacmlFiles.add(filePath);
- }
- }
-
- // Use IOUtiles to write content of byte array to physical file
- IOUtils.write(content,outputFile);
-
- // Close Output Stream
- try {
- outputFile.close();
- } catch (IOException e) {
- logger.info("IOException:" +e);
- e.printStackTrace();
- }
- }
-
- private static void extractFile(TarArchiveInputStream extractFile, String filePath) throws IOException {
- BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(filePath));
- byte[] bytesIn = new byte[BUFFER_SIZE];
- int read = 0;
- while ((read = extractFile.read(bytesIn)) != -1) {
- bos.write(bytesIn, 0, read);
- }
- bos.close();
-
- }
-
- public Path getUploadedFile() {
- if (this.succeeded) {
- return this.newfile;
- }
- return null;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/conf/HibernateSession.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/conf/HibernateSession.java
deleted file mode 100644
index b3db51df4..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/conf/HibernateSession.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.conf;
-
-/*
- *
- *
- * */
-import java.util.Properties;
-
-import org.hibernate.HibernateException;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.cfg.Configuration;
-import org.openecomp.policy.controller.PolicyController;
-import org.openecomp.policy.rest.jpa.SystemLogDB;
-
-@SuppressWarnings("deprecation")
-public class HibernateSession{
-
- private static SessionFactory logSessionFactory;
-
- static {
- try {
- Properties prop= new Properties();
- prop.setProperty("hibernate.connection.url", PolicyController.logdbUrl);
- prop.setProperty("hibernate.connection.username", PolicyController.logdbUserName);
- prop.setProperty("hibernate.connection.password", PolicyController.logdbPassword);
- prop.setProperty("dialect", PolicyController.logdbDialect);
- prop.setProperty("hibernate.connection.driver_class", PolicyController.logdbDriver);
- prop.setProperty("show_sql", "false");
- logSessionFactory = new Configuration().addPackage("org.openecomp.policy.*").addProperties(prop)
- .addAnnotatedClass(SystemLogDB.class).buildSessionFactory();
- } catch (Throwable ex) {
- throw new ExceptionInInitializerError(ex);
- }
- }
- public static Session getSession() throws HibernateException {
- return logSessionFactory.openSession();
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/ActionPolicyController.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/ActionPolicyController.java
deleted file mode 100644
index 0688846b4..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/ActionPolicyController.java
+++ /dev/null
@@ -1,535 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.controller;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.xml.bind.JAXBElement;
-
-import org.json.JSONObject;
-import org.openecomp.policy.adapter.PolicyAdapter;
-import org.openecomp.policy.admin.PolicyNotificationMail;
-import org.openecomp.policy.admin.RESTfulPAPEngine;
-import org.openecomp.policy.dao.FunctionDefinitionDao;
-import org.openecomp.policy.dao.PolicyVersionDao;
-import org.openecomp.policy.dao.RuleAlgorithmsDao;
-import org.openecomp.policy.dao.WatchPolicyNotificationDao;
-import org.openecomp.policy.elk.client.PolicyElasticSearchController;
-import org.openecomp.policy.rest.dao.ActionPolicyDictDao;
-import org.openecomp.policy.rest.jpa.ActionPolicyDict;
-import org.openecomp.policy.rest.jpa.PolicyVersion;
-import org.openecomp.policy.rest.jpa.RuleAlgorithms;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
-import org.openecomp.portalsdk.core.web.support.JsonMessage;
-import org.openecomp.portalsdk.core.web.support.UserUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-import com.att.research.xacml.api.XACML3;
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import org.openecomp.policy.xacml.util.XACMLPolicyScanner;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.base.Joiner;
-
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.ApplyType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeAssignmentExpressionType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeDesignatorType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.ConditionType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.ObligationExpressionType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.ObligationExpressionsType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.RuleType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType;
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Controller
-@RequestMapping({"/"})
-public class ActionPolicyController extends RestrictedBaseController{
- private static final Logger logger = FlexLogger.getLogger(ActionPolicyController.class);
-
- private static FunctionDefinitionDao functionDefinitionDao;
- private static RuleAlgorithmsDao ruleAlgorithmsDao;
- private static ActionPolicyDictDao actionPolciyDictDao;
- private static PolicyVersionDao policyVersionDao;
- private static WatchPolicyNotificationDao policyNotificationDao;
-
- @Autowired
- private ActionPolicyController(RuleAlgorithmsDao ruleAlgorithmsDao, ActionPolicyDictDao actionPolciyDictDao,
- PolicyVersionDao policyVersionDao, FunctionDefinitionDao functionDefinitionDao, WatchPolicyNotificationDao policyNotificationDao){
- ActionPolicyController.ruleAlgorithmsDao =ruleAlgorithmsDao;
- ActionPolicyController.actionPolciyDictDao =actionPolciyDictDao;
- ActionPolicyController.policyVersionDao =policyVersionDao;
- ActionPolicyController.functionDefinitionDao = functionDefinitionDao;
- ActionPolicyController.policyNotificationDao = policyNotificationDao;
- }
-
- public ActionPolicyController(){}
-
- private String ruleID = "";
- private ArrayList<Object> attributeList;
- protected LinkedList<Integer> ruleAlgoirthmTracker;
- public static final String PERFORMER_ATTRIBUTEID = "performer";
- protected Map<String, String> performer = new HashMap<String, String>();
- private ArrayList<Object> ruleAlgorithmList;
-
- public String newPolicyID() {
- return Joiner.on(':').skipNulls().join((PolicyController.getDomain().startsWith("urn") ? null: "urn"),
- PolicyController.getDomain().replaceAll("[/\\\\.]", ":"), "xacml", "policy", "id", UUID.randomUUID());
- }
-
-
- @RequestMapping(value={"/get_FunctionDefinitionDataByName"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE)
- public void getFunctionDefinitionData(HttpServletRequest request, HttpServletResponse response){
- try{
- Map<String, Object> model = new HashMap<String, Object>();
- ObjectMapper mapper = new ObjectMapper();
- model.put("functionDefinitionDatas", mapper.writeValueAsString(functionDefinitionDao.getFunctionDefinitionByName()));
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(model));
- JSONObject j = new JSONObject(msg);
- response.getWriter().write(j.toString());
- }
- catch (Exception e){
- logger.equals(XACMLErrorConstants.ERROR_DATA_ISSUE +"Error while retriving the Function Definition data"+e);
- }
- }
-
- @RequestMapping(value={"/policyController/save_Actionpolicy.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView saveActionPolicy(HttpServletRequest request, HttpServletResponse response) throws Exception{
- try {
- String userId = UserUtils.getUserIdFromCookie(request);
- RESTfulPAPEngine engine = (RESTfulPAPEngine) PolicyController.getPapEngine();
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- PolicyAdapter policyData = (PolicyAdapter)mapper.readValue(root.get("policyData").get("policy").toString(), PolicyAdapter.class);
- if(root.get("policyData").get("model").get("type").toString().replace("\"", "").equals("file")){
- policyData.isEditPolicy = true;
- }
- if(root.get("policyData").get("model").get("path").size() != 0){
- String dirName = "";
- for(int i = 0; i < root.get("policyData").get("model").get("path").size(); i++){
- dirName = dirName.replace("\"", "") + root.get("policyData").get("model").get("path").get(i).toString().replace("\"", "") + File.separator;
- }
- policyData.setDomainDir(dirName.substring(0, dirName.lastIndexOf(File.separator)));
- }else{
- policyData.setDomainDir(root.get("policyData").get("model").get("name").toString().replace("\"", ""));
- }
- int version = 0;
- int highestVersion = 0;
- int descriptionVersion = 0;
- //get the highest version of policy from policy version table.
- //getting the sub scope domain where the policy is created or updated
- String dbCheckPolicyName = policyData.getDomainDir() + File.separator + "Action_" + policyData.getPolicyName();
- List<PolicyVersion> versionList = policyVersionDao.getPolicyVersionEntityByName(dbCheckPolicyName);
- if (versionList.size() > 0) {
- for(int i = 0; i < versionList.size(); i++) {
- PolicyVersion entityItem = versionList.get(i);
- if(entityItem.getPolicyName().equals(dbCheckPolicyName)){
- highestVersion = entityItem.getHigherVersion();
- }
- }
- }
- if(highestVersion != 0){
- version = highestVersion;
- descriptionVersion = highestVersion +1;
- }else{
- version = 1;
- descriptionVersion = 1;
- }
-
- //set policy adapter values for Building JSON object containing policy data
- String createdBy = "";
- String modifiedBy = userId;
- if(descriptionVersion == 1){
- createdBy = userId;
- }else{
- String policyName = PolicyController.getGitPath().toAbsolutePath().toString() + File.separator + policyData.getDomainDir() + File.separator + policyData.getOldPolicyFileName() + ".xml";
- File policyPath = new File(policyName);
- try {
- createdBy = XACMLPolicyScanner.getCreatedBy(policyPath.toPath());
- } catch (IOException e) {
- createdBy = "guest";
- }
- }
-
- policyData.setPolicyDescription(policyData.getPolicyDescription()+ "@CreatedBy:" +createdBy + "@CreatedBy:" + "@ModifiedBy:" +modifiedBy + "@ModifiedBy:");
- Map<String, String> successMap = new HashMap<String, String>();
- Map<String, String> attributeMap = new HashMap<String, String>();
-
- List<String> dynamicRuleAlgorithmLabels = new LinkedList<String>();
- List<String> dynamicRuleAlgorithmCombo = new LinkedList<String>();
- List<String> dynamicRuleAlgorithmField1 = new LinkedList<String>();
- List<String> dynamicRuleAlgorithmField2 = new LinkedList<String>();
-
- //set the Rule Combining Algorithm Id to be sent to PAP-REST via JSON
- List<RuleAlgorithms> ruleAlgorithmsList = ruleAlgorithmsDao.getRuleAlgorithms();
- for (int i = 0; i < ruleAlgorithmsList.size(); i++) {
- RuleAlgorithms a = ruleAlgorithmsList.get(i);
- if (a.getXacmlId().equals(XACML3.ID_RULE_PERMIT_OVERRIDES.stringValue())) {
- policyData.setRuleCombiningAlgId(a.getXacmlId());
- break;
- }
- }
-
- if(policyData.getAttributes().size() > 0){
- for(Object attribute : policyData.getAttributes()){
- if(attribute instanceof LinkedHashMap<?, ?>){
- String key = ((LinkedHashMap<?, ?>) attribute).get("option").toString();
- String value = ((LinkedHashMap<?, ?>) attribute).get("number").toString();
- attributeMap.put(key, value);
- }
- }
- }
-
- if(policyData.getRuleAlgorithmschoices().size() > 0){
- for(Object attribute : policyData.getRuleAlgorithmschoices()){
- if(attribute instanceof LinkedHashMap<?, ?>){
- String label = ((LinkedHashMap<?, ?>) attribute).get("id").toString();
- String key = ((LinkedHashMap<?, ?>) attribute).get("dynamicRuleAlgorithmField1").toString();
- String rule = ((LinkedHashMap<?, ?>) attribute).get("dynamicRuleAlgorithmCombo").toString();
- String value = ((LinkedHashMap<?, ?>) attribute).get("dynamicRuleAlgorithmField2").toString();
- dynamicRuleAlgorithmLabels.add(label);
- dynamicRuleAlgorithmField1.add(key);
- dynamicRuleAlgorithmCombo.add(rule);
- dynamicRuleAlgorithmField2.add(value);
- }
- }
- }
-
- String actionDictValue = policyData.getActionAttributeValue();
- ActionPolicyDict jsonData = ((ActionPolicyDict) actionPolciyDictDao.getActionEntityDatabyId(actionDictValue));
- String actionBodyString = jsonData.getBody();
- String actionDictHeader = jsonData.getHeader();
- String actionDictType = jsonData.getType();
- String actionDictUrl = jsonData.getUrl();
- String actionDictMethod = jsonData.getMethod();
- policyData.setActionDictHeader(actionDictHeader);
- policyData.setActionDictType(actionDictType);
- policyData.setActionDictUrl(actionDictUrl);
- policyData.setActionDictMethod(actionDictMethod);
- policyData.setActionAttribute(actionDictValue);
- policyData.setDynamicRuleAlgorithmLabels(dynamicRuleAlgorithmLabels);
- policyData.setDynamicRuleAlgorithmCombo(dynamicRuleAlgorithmCombo);
- policyData.setDynamicRuleAlgorithmField1(dynamicRuleAlgorithmField1);
- policyData.setDynamicRuleAlgorithmField2(dynamicRuleAlgorithmField2);
- if (actionBodyString != null) {
- policyData.setActionBody(actionBodyString);
- }
- policyData.setDynamicFieldConfigAttributes(attributeMap);
-
- if (policyData.isEditPolicy()){
- //increment the version and set in policyAdapter
- policyData.setVersion(String.valueOf(version));
- policyData.setHighestVersion(version);
- policyData.setPolicyID(this.newPolicyID());
- policyData.setRuleID(ruleID);
- successMap = engine.updatePolicyRequest(policyData);
- } else {
- //send it for policy creation
- policyData.setVersion(String.valueOf(version));
- policyData.setHighestVersion(version);
- successMap = engine.createPolicyRequest(policyData);
-
- }
- if (successMap.containsKey("success")) {
- // Add it into our tree
- Path finalPolicyPath = null;
- finalPolicyPath = Paths.get(successMap.get("success"));
- PolicyElasticSearchController controller = new PolicyElasticSearchController();
- controller.updateElk(finalPolicyPath.toString());
- File file = finalPolicyPath.toFile();
- if(file != null){
- String policyName = file.toString();
- String removePath = policyName.substring(policyName.indexOf("repository")+11);
- String removeXml = removePath.replace(".xml", "");
- String removeExtension = removeXml.substring(0, removeXml.indexOf("."));
- List<PolicyVersion> policyVersionList = policyVersionDao.getPolicyVersionEntityByName(removeExtension);
- if (policyVersionList.size() > 0) {
- for(int i = 0; i < policyVersionList.size(); i++) {
- PolicyVersion entityItem = policyVersionList.get(i);
- if(entityItem.getPolicyName().equals(removeExtension)){
- version = entityItem.getHigherVersion() +1;
- entityItem.setActiveVersion(version);
- entityItem.setHigherVersion(version);
- entityItem.setModifiedBy(userId);
- policyVersionDao.update(entityItem);
- if(policyData.isEditPolicy){
- PolicyNotificationMail email = new PolicyNotificationMail();
- String mode = "EditPolicy";
- String policyNameForEmail = policyData.getDomainDir() + File.separator + policyData.getOldPolicyFileName() + ".xml";
- email.sendMail(entityItem, policyNameForEmail, mode, policyNotificationDao);
- }
- }
- }
- }else{
- PolicyVersion entityItem = new PolicyVersion();
- entityItem.setActiveVersion(version);
- entityItem.setHigherVersion(version);
- entityItem.setPolicyName(removeExtension);
- entityItem.setCreatedBy(userId);
- entityItem.setModifiedBy(userId);
- policyVersionDao.Save(entityItem);
- }
- }
- }
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
- String responseString = mapper.writeValueAsString(successMap);
- JSONObject j = new JSONObject("{policyData: " + responseString + "}");
- out.write(j.toString());
- return null;
- }
- catch (Exception e){
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
- out.write(e.getMessage());
- }
- return null;
- }
-
- public void PrePopulateActionPolicyData(PolicyAdapter policyAdapter) {
- attributeList = new ArrayList<Object>();
- ruleAlgorithmList = new ArrayList<Object>();
- performer.put("PDP", "PDPAction");
- performer.put("PEP", "PEPAction");
-
- if (policyAdapter.getPolicyData() instanceof PolicyType) {
- Object policyData = policyAdapter.getPolicyData();
- PolicyType policy = (PolicyType) policyData;
- policyAdapter.setOldPolicyFileName(policyAdapter.getPolicyName());
- String policyNameValue = policyAdapter.getPolicyName().substring(policyAdapter.getPolicyName().indexOf("_") + 1, policyAdapter.getPolicyName().lastIndexOf("."));
- policyAdapter.setPolicyName(policyNameValue);
- String description = "";
- try{
- description = policy.getDescription().substring(0, policy.getDescription().indexOf("@CreatedBy:"));
- }catch(Exception e){
- description = policy.getDescription();
- }
- policyAdapter.setPolicyDescription(description);
- // Get the target data under policy for Action.
- TargetType target = policy.getTarget();
- if (target != null) {
- // under target we have AnyOFType
- List<AnyOfType> anyOfList = target.getAnyOf();
- if (anyOfList != null) {
- Iterator<AnyOfType> iterAnyOf = anyOfList.iterator();
- while (iterAnyOf.hasNext()) {
- AnyOfType anyOf = iterAnyOf.next();
- // Under AntOfType we have AllOfType
- List<AllOfType> allOfList = anyOf.getAllOf();
- if (allOfList != null) {
- Iterator<AllOfType> iterAllOf = allOfList.iterator();
- while (iterAllOf.hasNext()) {
- AllOfType allOf = iterAllOf.next();
- // Under AllOfType we have Mathch.
- List<MatchType> matchList = allOf.getMatch();
- if (matchList != null) {
- Iterator<MatchType> iterMatch = matchList.iterator();
- while (iterMatch.hasNext()) {
- MatchType match = iterMatch.next();
- //
- // Under the match we have attributevalue and
- // attributeDesignator. So,finally down to the actual attribute.
- //
- AttributeValueType attributeValue = match.getAttributeValue();
- String value = (String) attributeValue.getContent().get(0);
- AttributeDesignatorType designator = match.getAttributeDesignator();
- String attributeId = designator.getAttributeId();
- // Component attributes are saved under Target here we are fetching them back.
- // One row is default so we are not adding dynamic componet at index 0.
- Map<String, String> attribute = new HashMap<String, String>();
- attribute.put("option", attributeId);
- attribute.put("number", value);
- attributeList.add(attribute);
- }
- }
- policyAdapter.setAttributes(attributeList);
- }
- }
- }
- }
-
- List<Object> ruleList = policy.getCombinerParametersOrRuleCombinerParametersOrVariableDefinition();
- // Under rule we have Condition and obligation.
- for (Object o : ruleList) {
- if (o instanceof RuleType) {
- // get the condition data under the rule for rule Algorithms.
- ruleID = ((RuleType) o).getRuleId();
- ConditionType condition = ((RuleType) o).getCondition();
- ObligationExpressionsType obligations = ((RuleType) o).getObligationExpressions();
- if (condition != null) {
- int index = 0;
- ApplyType actionApply = (ApplyType) condition.getExpression().getValue();
- ruleAlgoirthmTracker = new LinkedList<Integer>();
- // Populating Rule Algorithms starting from compound.
- prePopulateCompoundRuleAlgorithm(index, actionApply);
- }
- policyAdapter.setRuleAlgorithmschoices(ruleAlgorithmList);
- // get the Obligation data under the rule for Form elements.
- if (obligations != null) {
- // Under the obligationExpressions we have obligationExpression.
- List<ObligationExpressionType> obligationList = obligations.getObligationExpression();
- if (obligationList != null) {
- Iterator<ObligationExpressionType> iterObligation = obligationList.iterator();
- while (iterObligation.hasNext()) {
- ObligationExpressionType obligation = iterObligation.next();
- policyAdapter.setActionAttributeValue(obligation.getObligationId());
- // Under the obligationExpression we have attributeAssignmentExpression.
- List<AttributeAssignmentExpressionType> attributeAssignmentExpressionList = obligation.getAttributeAssignmentExpression();
- if (attributeAssignmentExpressionList != null) {
- Iterator<AttributeAssignmentExpressionType> iterAttributeAssignmentExpression = attributeAssignmentExpressionList.iterator();
- while (iterAttributeAssignmentExpression.hasNext()) {
- AttributeAssignmentExpressionType attributeAssignmentExpression = iterAttributeAssignmentExpression.next();
- String attributeID = attributeAssignmentExpression.getAttributeId();
- AttributeValueType attributeValue = (AttributeValueType) attributeAssignmentExpression.getExpression().getValue();
- if (attributeID.equals(PERFORMER_ATTRIBUTEID)) {
- for (String key : performer.keySet()) {
- String keyValue = performer.get(key);
- if (keyValue.equals(attributeValue.getContent().get(0))) {
- policyAdapter.setActionPerformer(key);
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
-
- private int prePopulateCompoundRuleAlgorithm(int index, ApplyType actionApply) {
- boolean isCompoundRule = true;
- List<JAXBElement<?>> jaxbActionTypes = actionApply.getExpression();
- for (JAXBElement<?> jaxbElement : jaxbActionTypes) {
- // If There is Attribute Value under Action Type that means we came to the final child
- if (logger.isDebugEnabled()) {
- logger.debug("Prepopulating rule algoirthm: " + index);
- }
- // Check to see if Attribute Value exists, if yes then it is not a compound rule
- if (jaxbElement.getValue() instanceof AttributeValueType) {
- prePopulateRuleAlgorithms(index, actionApply, jaxbActionTypes);
- ruleAlgoirthmTracker.addLast(index);
- isCompoundRule = false;
- index++;
- }
- }
- if (isCompoundRule) {
- // As it's compound rule, Get the Apply types
- for (JAXBElement<?> jaxbElement : jaxbActionTypes) {
- ApplyType innerActionApply = (ApplyType) jaxbElement.getValue();
- index = prePopulateCompoundRuleAlgorithm(index, innerActionApply);
- }
- // Populate combo box
- if (logger.isDebugEnabled()) {
- logger.debug("Prepopulating Compound rule algorithm: " + index);
- }
- Map<String, String> rule = new HashMap<String, String>();
- for (String key : PolicyController.getDropDownMap().keySet()) {
- String keyValue = PolicyController.getDropDownMap().get(key);
- if (keyValue.equals(actionApply.getFunctionId())) {
- rule.put("dynamicRuleAlgorithmCombo", key);
- }
- }
- rule.put("id", "A" + (index +1));
- // Populate Key and values for Compound Rule
- rule.put("dynamicRuleAlgorithmField1", "A" + (ruleAlgoirthmTracker.getLast() + 1 ));
- ruleAlgoirthmTracker.removeLast();
- rule.put("dynamicRuleAlgorithmField2", "A" + (ruleAlgoirthmTracker.getLast() + 1));
- ruleAlgoirthmTracker.removeLast();
- ruleAlgoirthmTracker.addLast(index);
- ruleAlgorithmList.add(rule);
- index++;
- }
- return index;
- }
-
- private void prePopulateRuleAlgorithms(int index, ApplyType actionApply, List<JAXBElement<?>> jaxbActionTypes) {
- Map<String, String> ruleMap = new HashMap<String, String>();
- ruleMap.put("id", "A" + (index +1));
- // Populate combo box
- Map<String, String> dropDownMap = PolicyController.getDropDownMap();
- for (String key : dropDownMap.keySet()) {
- String keyValue = dropDownMap.get(key);
- if (keyValue.equals(actionApply.getFunctionId())) {
- ruleMap.put("dynamicRuleAlgorithmCombo", key);
- }
- }
- // Populate the key and value fields
- // Rule Attribute added as key
- if ((jaxbActionTypes.get(0).getValue()) instanceof ApplyType) {
- // Get from Attribute Designator
- ApplyType innerActionApply = (ApplyType) jaxbActionTypes.get(0).getValue();
- List<JAXBElement<?>> jaxbInnerActionTypes = innerActionApply.getExpression();
- AttributeDesignatorType attributeDesignator = (AttributeDesignatorType) jaxbInnerActionTypes.get(0).getValue();
- ruleMap.put("dynamicRuleAlgorithmField1", attributeDesignator.getAttributeId());
-
- // Get from Attribute Value
- AttributeValueType actionConditionAttributeValue = (AttributeValueType) jaxbActionTypes.get(1).getValue();
- String attributeValue = (String) actionConditionAttributeValue.getContent().get(0);
- ruleMap.put("dynamicRuleAlgorithmField2", attributeValue);
- }
- // Rule Attribute added as value
- else if (((jaxbActionTypes.get(0).getValue()) instanceof AttributeValueType)) {
- AttributeValueType actionConditionAttributeValue = (AttributeValueType) jaxbActionTypes.get(0).getValue();
- String attributeValue = (String) actionConditionAttributeValue.getContent().get(0);
- ruleMap.put("dynamicRuleAlgorithmField2", attributeValue);
-
- ApplyType innerActionApply = (ApplyType) jaxbActionTypes.get(1).getValue();
- List<JAXBElement<?>> jaxbInnerActionTypes = innerActionApply.getExpression();
- AttributeDesignatorType attributeDesignator = (AttributeDesignatorType) jaxbInnerActionTypes.get(0).getValue();
- ruleMap.put("dynamicRuleAlgorithmField1", attributeDesignator.getAttributeId());
- }
- ruleAlgorithmList.add(ruleMap);
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/AdminTabController.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/AdminTabController.java
deleted file mode 100644
index 67c2d3080..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/AdminTabController.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.controller;
-
-
-import java.io.PrintWriter;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.json.JSONObject;
-import org.openecomp.policy.dao.GlobalRoleSettingsDao;
-import org.openecomp.policy.rest.jpa.GlobalRoleSettings;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
-import org.openecomp.portalsdk.core.web.support.JsonMessage;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-@Controller
-@RequestMapping({"/"})
-public class AdminTabController extends RestrictedBaseController{
-
- @Autowired
- GlobalRoleSettingsDao globalRoleSettingsDao;
-
-
-
- @RequestMapping(value={"/get_LockDownData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE)
- public void getAdminTabEntityData(HttpServletRequest request, HttpServletResponse response){
- try{
- Map<String, Object> model = new HashMap<String, Object>();
- ObjectMapper mapper = new ObjectMapper();
- model.put("lockdowndata", mapper.writeValueAsString(globalRoleSettingsDao.getGlobalRoleSettings()));
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(model));
- JSONObject j = new JSONObject(msg);
- response.getWriter().write(j.toString());
- }
- catch (Exception e){
- e.printStackTrace();
- }
- }
-
- @RequestMapping(value={"/adminTabController/save_LockDownValue.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView saveAdminTabLockdownValue(HttpServletRequest request, HttpServletResponse response) throws Exception{
- try {
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- GlobalRoleSettings globalRole = mapper.readValue(root.get("lockdowndata").toString(), GlobalRoleSettings.class);
- globalRole.setRole("super-admin");
- globalRoleSettingsDao.update(globalRole);
-
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
- String responseString = mapper.writeValueAsString(this.globalRoleSettingsDao.getGlobalRoleSettings());
- JSONObject j = new JSONObject("{descriptiveScopeDictionaryDatas: " + responseString + "}");
-
- out.write(j.toString());
-
- return null;
- }
- catch (Exception e){
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
- out.write(e.getMessage());
- }
- return null;
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/AutoPushController.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/AutoPushController.java
deleted file mode 100644
index 699d8ed00..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/AutoPushController.java
+++ /dev/null
@@ -1,433 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.controller;
-
-
-import java.io.File;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.net.URI;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Set;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.commons.io.FilenameUtils;
-import org.json.JSONArray;
-import org.json.JSONObject;
-import org.openecomp.policy.adapter.AutoPushTabAdapter;
-import org.openecomp.policy.dao.PolicyVersionDao;
-import org.openecomp.policy.model.PDPGroupContainer;
-import org.openecomp.policy.model.PDPPolicyContainer;
-import org.openecomp.policy.model.Roles;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
-import org.openecomp.portalsdk.core.web.support.JsonMessage;
-import org.openecomp.portalsdk.core.web.support.UserUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import org.openecomp.policy.xacml.api.pap.EcompPDPGroup;
-
-import com.att.research.xacml.api.pap.PAPException;
-//import com.att.research.xacml.api.pap.PDPGroup;
-import com.att.research.xacml.api.pap.PDPPolicy;
-import org.openecomp.policy.xacml.std.pap.StdPDPGroup;
-import org.openecomp.policy.xacml.std.pap.StdPDPPolicy;
-import org.openecomp.policy.xacml.util.XACMLPolicyScanner;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-
-@Controller
-@RequestMapping({"/"})
-public class AutoPushController extends RestrictedBaseController{
-
- private static final Logger logger = FlexLogger.getLogger(AutoPushController.class);
-
- private PDPGroupContainer container;
- protected List<EcompPDPGroup> groups = Collections.synchronizedList(new ArrayList<EcompPDPGroup>());
-
- private static PDPPolicyContainer policyContainer;
- Set<PDPPolicy> selectedPolicies;
-
- @Autowired
- PolicyVersionDao policyVersionDao;
-
- public synchronized void refreshGroups() {
- synchronized(this.groups) {
- this.groups.clear();
- try {
- this.groups.addAll(PolicyController.getPapEngine().getEcompPDPGroups());
- } catch (PAPException e) {
- String message = "Unable to retrieve Groups from server: " + e;
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE + message);
- }
-
- }
- }
-
- @RequestMapping(value={"/get_AutoPushPoliciesContainerData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE)
- public void getPolicyGroupContainerData(HttpServletRequest request, HttpServletResponse response){
- try{
- Path gitPath = PolicyController.getGitPath().toAbsolutePath();
- PrintWriter out = response.getWriter();
- JSONObject j = new JSONObject("{data: " + readFileRepository(gitPath,0,0,request).toString() + "}");
- out.write(j.toString());
- }
- catch (Exception e){
- e.printStackTrace();
- }
- }
-
- @SuppressWarnings("rawtypes")
- public JSONArray readFileRepository(Path path, int id, int parentid, HttpServletRequest request){
- Set<String> scopes = null;
- List<String> roles = null;
- String userId = null;
- try {
- userId = UserUtils.getUserIdFromCookie(request);
- } catch (Exception e) {
- logger.error("Exception Occured while reading userid from cookie" +e);
- }
- JSONArray fileJSONArray = new JSONArray();
- File root = new File(path.toString());
- if(parentid==0 ){
- parentid = 1;
- }
- List<Roles> userRoles = PolicyController.getRoles(userId);
- roles = new ArrayList<String>();
- scopes = new HashSet<String>();
- for(Roles userRole: userRoles){
- roles.add(userRole.getRole());
- scopes.add(userRole.getScope());
- }
-
- for ( File file : root.listFiles()){
- if (!(file.toString().contains(".git") || file.equals(".DS_Store"))) {
- if(file.isDirectory()){
- JSONObject el = new JSONObject();
- String fileName = file.getName().toString();
- el.put("categoryId", id+1);
- el.put("name", fileName);
- el.put("dateModified", lastModified(file));
- el.put("filePath", file.getPath());
- el.put("parentCategoryId", parentid);
- el.put("files",readFileRepository(file.toPath(),id+1, id+1, request));
- if (roles.contains("super-admin") || roles.contains("super-editor") || roles.contains("super-guest") ) {
- fileJSONArray.put(el);
- }else{
- String filePath = file.getPath().toString();
- int startIndex = filePath.indexOf("repository") + 11;
- filePath = filePath.substring(startIndex, filePath.length());
- if (scopes.contains(filePath)) {
- fileJSONArray.put(el);
- }
- }
- }else{
- JSONObject el = new JSONObject();
- String policyName = "";
- String version = "";
- String fileName = file.getName().toString();
- if(fileName.endsWith(".xml")){
- fileName = fileName.substring(0, fileName.lastIndexOf('.'));
- fileName = fileName.substring(0, fileName.lastIndexOf('.'));
- //Query the database
- String parent = file.toString().substring(file.toString().indexOf("repository")+ 11);
- parent = FilenameUtils.removeExtension(parent);
- version = parent.substring(parent.indexOf(".")+1);
- policyName = parent.substring(0, parent.lastIndexOf("."));
- if(policyName.contains("\\")){
- String scope = policyName.substring(0, policyName.lastIndexOf("\\"));
- policyName = scope + "\\" + policyName.substring(policyName.lastIndexOf("\\"));
- }
- }
- el.put("categoryId", id+1);
- el.put("name", fileName);
- el.put("parentCategoryId", parentid);
- el.put("dateModified", lastModified(file));
- el.put("version", version);
- el.put("filePath", file.getPath());
- el.put("files",new ArrayList());
- String query = "from PolicyVersion where POLICY_NAME ='" +policyName+"' and ACTIVE_VERSION ='"+version+"'";
- Boolean active = PolicyController.getActivePolicy(query);
- if(active){
- if (roles.contains("super-admin") || roles.contains("super-editor") || roles.contains("super-guest") ) {
- fileJSONArray.put(el);
- }else{
- String filePath = file.getPath().toString();
- int startIndex = filePath.indexOf("repository") + 11;
- filePath = filePath.substring(startIndex, filePath.length());
- filePath = filePath.substring(0, filePath.lastIndexOf(File.separator));
- if (scopes.contains(filePath)) {
- fileJSONArray.put(el);
- }
- }
- }
- }
- }
- }
- return fileJSONArray;
- }
-
- public Date lastModified(File file) {
- return new Date(file.lastModified());
- }
-
- public String getVersion(File file) {
- try {
- return XACMLPolicyScanner.getVersion(Paths.get(file.getAbsolutePath()));
- } catch (IOException e) {
- return "";
- }
- }
-
- public String getDomain(File file) {
- String filePath = file.getAbsolutePath();
- int startIndex = filePath.indexOf("repository") + 11;
- return filePath.substring(startIndex, filePath.length());
- }
-
-
- @RequestMapping(value={"/auto_Push/PushPolicyToPDP.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView PushPolicyToPDPGroup(HttpServletRequest request, HttpServletResponse response) throws Exception {
- try {
- ArrayList<Object> selectedPDPS = new ArrayList<Object>();
- ArrayList<File> selectedPoliciesInUI = new ArrayList<File>();
- this.groups.addAll(PolicyController.getPapEngine().getEcompPDPGroups());
- ObjectMapper mapper = new ObjectMapper();
- this.container = new PDPGroupContainer(PolicyController.getPapEngine());
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- AutoPushTabAdapter adapter = (AutoPushTabAdapter) mapper.readValue(root.get("pushTabData").toString(), AutoPushTabAdapter.class);
- for (Object pdpGroupId : adapter.getPdpDatas()) {
- LinkedHashMap<?, ?> selectedPDP = (LinkedHashMap<?, ?>)pdpGroupId;
- for(EcompPDPGroup pdpGroup : this.groups){
- if(pdpGroup.getId().equals(selectedPDP.get("id"))){
- selectedPDPS.add(pdpGroup);
- }
- }
- }
-
- for (Object policyId : adapter.getPolicyDatas()) {
- LinkedHashMap<?, ?> selected = (LinkedHashMap<?, ?>)policyId;
- Path file = Paths.get(selected.get("filePath").toString());
- selectedPoliciesInUI.add(file.toFile());
- }
-
- for (Object pdpDestinationGroupId : selectedPDPS) {
- Set<PDPPolicy> currentPoliciesInGroup = new HashSet<PDPPolicy>();
- Set<PDPPolicy> selectedPolicies = new HashSet<PDPPolicy>();
- for (File policyId : selectedPoliciesInUI) {
- logger.debug("Handlepolicies..." + pdpDestinationGroupId + policyId);
- //
- // Get the current selection
- File selectedItem = policyId;
- //
- assert (selectedItem != null);
- if (selectedItem.isDirectory()) {
- //AdminNotification.warn("Select only the Policy");
- return null;
- }
- // create the id of the target file
- // Our standard for file naming is:
- // <domain>.<filename>.<version>.xml
- // since the file name usually has a ".xml", we need to strip
- // that
- // before adding the other parts
- String name = selectedItem.getName();
- if(name.endsWith(".xml")){
- name = name.substring(0, name.length() - 4);
- name = name.substring(0, name.lastIndexOf("."));
- }
- String id = name;
- if (id.endsWith(".xml")) {
- id = id.substring(0, id.length() - 4);
- id = id.substring(0, id.lastIndexOf("."));
- }
- // add on the version string
- String version = getVersion(selectedItem);
- id += "." + version;
- // put the .xml on the end
- id += ".xml";
- // track on the domain in front. Do this one level at a time
- // until we
- // reach one of the roots
- String domain = getDomain(selectedItem);
- String mainDomain = domain.substring(0, domain.lastIndexOf(File.separator) );
- logger.info("print the main domain value"+mainDomain);
- String path = mainDomain.replace('\\', '.');
- if(path.contains("/")){
- path = mainDomain.replace('/', '.');
- logger.info("print the path:" +path);
- }
- id = path + "." + id;
- // Default policy to be Root policy; user can change to deferred
- // later
- URI selectedURI = selectedItem.toURI();
- StdPDPPolicy selectedPolicy = null;
- try {
- //
- // Create the policy
- selectedPolicy = new StdPDPPolicy(id, true, name, selectedURI);
- } catch (IOException e) {
- logger.error("Unable to create policy '" + id + "': "+ e.getMessage());
- //AdminNotification.warn("Unable to create policy '" + id + "': " + e.getMessage());
- }
- StdPDPGroup selectedGroup = (StdPDPGroup) pdpDestinationGroupId;
- if (selectedPolicy != null) {
- // Add Current policies from container
- for (EcompPDPGroup group : container.getGroups()) {
- if (group.getId().equals(selectedGroup.getId())) {
- currentPoliciesInGroup.addAll(group.getPolicies());
- }
- }
- // copy policy to PAP
- try {
- PolicyController.getPapEngine().copyPolicy(selectedPolicy, (StdPDPGroup) pdpDestinationGroupId);
- } catch (PAPException e) {
- e.printStackTrace();
- return null;
- }
- selectedPolicies.add(selectedPolicy);
- }
- }
- StdPDPGroup pdpGroup = (StdPDPGroup) pdpDestinationGroupId;
- StdPDPGroup updatedGroupObject = new StdPDPGroup(pdpGroup.getId(), pdpGroup.isDefaultGroup(), pdpGroup.getName(), pdpGroup.getDescription(), pdpGroup.getDirectory());
- updatedGroupObject.setEcompPdps(pdpGroup.getEcompPdps());
- updatedGroupObject.setPipConfigs(pdpGroup.getPipConfigs());
- updatedGroupObject.setStatus(pdpGroup.getStatus());
-
- // replace the original set of Policies with the set from the
- // container (possibly modified by the user)
- // do not allow multiple copies of same policy
- Iterator<PDPPolicy> policyIterator = currentPoliciesInGroup.iterator();
- logger.debug("policyIterator....." + selectedPolicies);
- while (policyIterator.hasNext()) {
- PDPPolicy existingPolicy = policyIterator.next();
- for (PDPPolicy selPolicy : selectedPolicies) {
- if (selPolicy.getName().equals(existingPolicy.getName())) {
- if (selPolicy.getVersion().equals(existingPolicy.getVersion())) {
- if (selPolicy.getId().equals(existingPolicy.getId())) {
- policyIterator.remove();
- logger.debug("Removing policy: " + selPolicy);
- break;
- }
- } else {
- policyIterator.remove();
- logger.debug("Removing Old Policy version: "+ selPolicy);
- break;
- }
- }
- }
- }
-
- currentPoliciesInGroup.addAll(selectedPolicies);
- updatedGroupObject.setPolicies(currentPoliciesInGroup);
- this.container.updateGroup(updatedGroupObject);
-
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
- refreshGroups();
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(groups));
- JSONObject j = new JSONObject(msg);
- out.write(j.toString());
- return null;
- }
- }
- catch (Exception e){
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
- out.write(e.getMessage());
- }
- return null;
- }
-
- @RequestMapping(value={"/auto_Push/remove_GroupPolicies.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView removePDPGroup(HttpServletRequest request, HttpServletResponse response) throws Exception {
- try {
- this.container = new PDPGroupContainer(PolicyController.getPapEngine());
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- StdPDPGroup group = (StdPDPGroup)mapper.readValue(root.get("activePdpGroup").toString(), StdPDPGroup.class);
- JsonNode removePolicyData = root.get("data");
- policyContainer = new PDPPolicyContainer(group);
- if(removePolicyData.size() > 0){
- for(int i = 0 ; i < removePolicyData.size(); i++){
- String data = removePolicyData.get(i).toString();
- AutoPushController.policyContainer.removeItem(data);
- }
- Set<PDPPolicy> changedPolicies = new HashSet<PDPPolicy>();
- changedPolicies.addAll((Collection<PDPPolicy>) AutoPushController.policyContainer.getItemIds());
- StdPDPGroup updatedGroupObject = new StdPDPGroup(group.getId(), group.isDefaultGroup(), group.getName(), group.getDescription(),null);
- updatedGroupObject.setPolicies(changedPolicies);
- updatedGroupObject.setEcompPdps(group.getEcompPdps());
- updatedGroupObject.setPipConfigs(group.getPipConfigs());
- updatedGroupObject.setStatus(group.getStatus());
- this.container.updateGroup(updatedGroupObject);
- }
-
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
- refreshGroups();
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(groups));
- JSONObject j = new JSONObject(msg);
-
- out.write(j.toString());
-
- return null;
- }
- catch (Exception e){
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
- out.write(e.getMessage());
- }
- return null;
- }
-
-} \ No newline at end of file
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateBRMSParamController.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateBRMSParamController.java
deleted file mode 100644
index 7a2b24e84..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateBRMSParamController.java
+++ /dev/null
@@ -1,723 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.controller;
-
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.xml.bind.JAXBElement;
-
-import org.json.JSONObject;
-import org.openecomp.policy.adapter.PolicyAdapter;
-import org.openecomp.policy.admin.PolicyNotificationMail;
-import org.openecomp.policy.admin.RESTfulPAPEngine;
-import org.openecomp.policy.dao.PolicyVersionDao;
-import org.openecomp.policy.dao.RuleAlgorithmsDao;
-import org.openecomp.policy.dao.WatchPolicyNotificationDao;
-import org.openecomp.policy.elk.client.PolicyElasticSearchController;
-import org.openecomp.policy.rest.dao.BRMSParamTemplateDao;
-import org.openecomp.policy.rest.jpa.BRMSParamTemplate;
-import org.openecomp.policy.rest.jpa.PolicyVersion;
-import org.openecomp.policy.rest.jpa.RuleAlgorithms;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
-import org.openecomp.portalsdk.core.web.support.UserUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-import com.att.research.xacml.api.XACML3;
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import org.openecomp.policy.xacml.util.XACMLPolicyScanner;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.base.Joiner;
-
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AdviceExpressionType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AdviceExpressionsType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeAssignmentExpressionType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.RuleType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Controller
-@RequestMapping("/")
-public class CreateBRMSParamController extends RestrictedBaseController {
- private static final Logger logger = FlexLogger.getLogger(CreateBRMSParamController.class);
-
- private static RuleAlgorithmsDao ruleAlgorithmsDao;
- private static BRMSParamTemplateDao bRMSParamTemplateDao;
- private static PolicyVersionDao policyVersionDao;
- private static WatchPolicyNotificationDao policyNotificationDao;
-
- @Autowired
- private CreateBRMSParamController(RuleAlgorithmsDao ruleAlgorithmsDao, BRMSParamTemplateDao bRMSParamTemplateDao, PolicyVersionDao policyVersionDao,
- WatchPolicyNotificationDao policyNotificationDao){
- CreateBRMSParamController.policyVersionDao = policyVersionDao;
- CreateBRMSParamController.ruleAlgorithmsDao = ruleAlgorithmsDao;
- CreateBRMSParamController.bRMSParamTemplateDao = bRMSParamTemplateDao;
- CreateBRMSParamController.policyNotificationDao = policyNotificationDao;
- }
-
- public CreateBRMSParamController(){}
- protected PolicyAdapter policyAdapter = null;
- private ArrayList<Object> attributeList;
- private String ruleID = "";
-
- private HashMap<String, String> dynamicLayoutMap;
-
- public String newPolicyID() {
- return Joiner.on(':').skipNulls().join((PolicyController.getDomain().startsWith("urn") ? null: "urn"),
- PolicyController.getDomain().replaceAll("[/\\\\.]", ":"), "xacml", "policy", "id", UUID.randomUUID());
- }
-
- @RequestMapping(value={"/policyController/getBRMSTemplateData.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView getBRMSParamPolicyRuleData(HttpServletRequest request, HttpServletResponse response) throws Exception{
- dynamicLayoutMap = new HashMap<String, String>();
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- String rule = findRule(root.get("policyData").toString().replaceAll("^\"|\"$", ""));
- generateUI(rule);
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
- String responseString = mapper.writeValueAsString(dynamicLayoutMap);
- JSONObject j = new JSONObject("{policyData: " + responseString + "}");
- out.write(j.toString());
- return null;
- }
-
- protected String findRule(String ruleTemplate) {
- for (BRMSParamTemplate bRMSParamTemplate: bRMSParamTemplateDao.getBRMSParamTemplateData()){
- if(bRMSParamTemplate.getRuleName().equals(ruleTemplate)){
- return bRMSParamTemplate.getRule();
- }
- }
- return null;
- }
-
- protected void generateUI(String rule) {
- if(rule!=null){
- try {
- String params = "";
- Boolean flag = false;
- Boolean comment = false;
- String lines[] = rule.split("\n");
- for(String line : lines){
- if (line.isEmpty() || line.startsWith("//")) {
- continue;
- }
- if (line.startsWith("/*")) {
- comment = true;
- continue;
- }
- if (line.contains("//")) {
- line = line.split("\\/\\/")[0];
- }
- if (line.contains("/*")) {
- comment = true;
- if (line.contains("*/")) {
- try {
- comment = false;
- line = line.split("\\/\\*")[0]
- + line.split("\\*\\/")[1].replace("*/", "");
- } catch (Exception e) {
- line = line.split("\\/\\*")[0];
- }
- } else {
- line = line.split("\\/\\*")[0];
- }
- }
- if (line.contains("*/")) {
- comment = false;
- try {
- line = line.split("\\*\\/")[1].replace("*/", "");
- } catch (Exception e) {
- line = "";
- }
- }
- if (comment) {
- continue;
- }
- if (flag) {
- params = params + line;
- }
- if (line.contains("declare Params")) {
- params = params + line;
- flag = true;
- }
- if (line.contains("end") && flag) {
- break;
- }
- }
- params = params.replace("declare Params", "").replace("end", "")
- .replaceAll("\\s+", "");
- String[] components = params.split(":");
- String caption = "";
- for (int i = 0; i < components.length; i++) {
- String type = "";
- if (i == 0) {
- caption = components[i];
- }
- if(caption.equals("")){
- break;
- }
- String nextComponent = "";
- try {
- nextComponent = components[i + 1];
- } catch (Exception e) {
- nextComponent = components[i];
- }
- if (nextComponent.startsWith("String")) {
- type = "String";
- createField(caption, type);
- caption = nextComponent.replace("String", "");
- } else if (nextComponent.startsWith("int")) {
- type = "int";
- createField(caption, type);
- caption = nextComponent.replace("int", "");
- }
- }
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + e);
- }
- }
- }
-
- private String convertDate(String dateTTL) {
- String formateDate = null;
- String[] date = dateTTL.split("T");
- String[] parts = date[0].split("-");
-
- formateDate = parts[2] + "-" + parts[1] + "-" + parts[0];
- return formateDate;
- }
-
- private void createField(String caption, String type) {
- dynamicLayoutMap.put(caption, type);
- }
-
- @RequestMapping(value={"/policyController/save_BRMSParamPolicy.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView saveBRMSParamPolicy(HttpServletRequest request, HttpServletResponse response) throws Exception{
- try {
- String userId = UserUtils.getUserIdFromCookie(request);
- RESTfulPAPEngine engine = (RESTfulPAPEngine) PolicyController.getPapEngine();
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- PolicyAdapter policyData = (PolicyAdapter)mapper.readValue(root.get("policyData").get("policy").toString(), PolicyAdapter.class);
-
- if (policyData.getTtlDate()==null){
- policyData.setTtlDate("NA");
- }else{
- String dateTTL = policyData.getTtlDate();
- String newDate = convertDate(dateTTL);
- policyData.setTtlDate(newDate);
- }
-
- if(root.get("policyData").get("model").get("type").toString().replace("\"", "").equals("file")){
- policyData.isEditPolicy = true;
- }
- if(root.get("policyData").get("model").get("path").size() != 0){
- String dirName = "";
- for(int i = 0; i < root.get("policyData").get("model").get("path").size(); i++){
- dirName = dirName.replace("\"", "") + root.get("policyData").get("model").get("path").get(i).toString().replace("\"", "") + File.separator;
- }
- policyData.setDomainDir(dirName.substring(0, dirName.lastIndexOf(File.separator)));
- }else{
- policyData.setDomainDir(root.get("policyData").get("model").get("name").toString().replace("\"", ""));
- }
- int version = 0;
- int highestVersion = 0;
- int descriptionVersion = 0;
- //get the highest version of policy from policy version table.
- //getting the sub scope domain where the policy is created or updated
- String dbCheckPolicyName = policyData.getDomainDir() + File.separator + "Config_BRMS_Param_" + policyData.getPolicyName();
- List<PolicyVersion> policyVersionList = policyVersionDao.getPolicyVersionEntityByName(dbCheckPolicyName);
- if (policyVersionList.size() > 0) {
- for(int i = 0; i < policyVersionList.size(); i++) {
- PolicyVersion entityItem = policyVersionList.get(i);
- if(entityItem.getPolicyName().equals(dbCheckPolicyName)){
- highestVersion = entityItem.getHigherVersion();
- }
- }
- }
- if(highestVersion != 0){
- version = highestVersion;
- descriptionVersion = highestVersion +1;
- }else{
- version = 1;
- descriptionVersion = 1;
- }
-
- //set policy adapter values for Building JSON object containing policy data
- String createdBy = "";
- String modifiedBy = userId;
- if(descriptionVersion == 1){
- createdBy = userId;
- }else{
- String policyName = PolicyController.getGitPath().toAbsolutePath().toString() + File.separator + policyData.getDomainDir() + File.separator + policyData.getOldPolicyFileName() + ".xml";
- File policyPath = new File(policyName);
- try {
- createdBy = XACMLPolicyScanner.getCreatedBy(policyPath.toPath());
- } catch (IOException e) {
- createdBy = "guest";
- }
- }
-
- policyData.setPolicyDescription(policyData.getPolicyDescription()+ "@CreatedBy:" +createdBy + "@CreatedBy:" + "@ModifiedBy:" +modifiedBy + "@ModifiedBy:");
- Map<String, String> successMap = new HashMap<String, String>();
- Map<String, String> attributeMap = new HashMap<String, String>();
- //set the Rule Combining Algorithm Id to be sent to PAP-REST via JSON
- List<RuleAlgorithms> ruleAlgorithmsList = ruleAlgorithmsDao.getRuleAlgorithms();
- for (int i = 0; i < ruleAlgorithmsList.size(); i++) {
- RuleAlgorithms a = ruleAlgorithmsList.get(i);
- if (a.getXacmlId().equals(XACML3.ID_RULE_PERMIT_OVERRIDES.stringValue())) {
- policyData.setRuleCombiningAlgId(a.getXacmlId());
- break;
- }
- }
- if(policyData.getAttributes().size() > 0){
- for(Object attribute : policyData.getAttributes()){
- if(attribute instanceof LinkedHashMap<?, ?>){
- String key = ((LinkedHashMap<?, ?>) attribute).get("key").toString();
- String value = ((LinkedHashMap<?, ?>) attribute).get("value").toString();
- attributeMap.put(key, value);
- }
- }
- }
-
- policyData.setEcompName("DROOLS");
- policyData.setConfigName("BRMS_PARAM_RULE");
- policyData.setDynamicFieldConfigAttributes(attributeMap);
- //convert drl rule and UI parameters into a map
- Map<String, String> drlRuleAndUIParams = new HashMap<String, String>();
- // If there is any dynamic field create the matches here
- String key="templateName";
- String value=(String) policyData.getRuleName();
- drlRuleAndUIParams.put(key, value);
- System.out.println(policyData.getRuleData());
- if(policyData.getRuleData().size() > 0){
- for(Object keyValue: policyData.getRuleData().keySet()){
- drlRuleAndUIParams.put(keyValue.toString(), policyData.getRuleData().get(keyValue).toString());
- }
- }
- policyData.setBRMSParamBody(drlRuleAndUIParams);
- if (policyData.isEditPolicy()){
- //increment the version and set in policyAdapter
- policyData.setVersion(String.valueOf(version));
- policyData.setHighestVersion(version);
- policyData.setPolicyID(this.newPolicyID());
- policyData.setRuleID(ruleID);
- successMap = engine.updatePolicyRequest(policyData);
- } else {
- //send it for policy creation
- policyData.setVersion(String.valueOf(version));
- policyData.setHighestVersion(version);
- successMap = engine.createPolicyRequest(policyData);
-
- }
-
- if (successMap.containsKey("success")) {
- // Add it into our tree
- Path finalPolicyPath = null;
- finalPolicyPath = Paths.get(successMap.get("success"));
- PolicyElasticSearchController controller = new PolicyElasticSearchController();
- controller.updateElk(finalPolicyPath.toString());
- File file = finalPolicyPath.toFile();
- if(file != null){
- String policyName = file.toString();
- String removePath = policyName.substring(policyName.indexOf("repository")+11);
- String removeXml = removePath.replace(".xml", "");
- String removeExtension = removeXml.substring(0, removeXml.indexOf("."));
- List<PolicyVersion> versionList = policyVersionDao.getPolicyVersionEntityByName(removeExtension);
- if (versionList.size() > 0) {
- for(int i = 0; i < versionList.size(); i++) {
- PolicyVersion entityItem = versionList.get(i);
- if(entityItem.getPolicyName().equals(removeExtension)){
- version = entityItem.getHigherVersion() +1;
- entityItem.setActiveVersion(version);
- entityItem.setHigherVersion(version);
- entityItem.setModifiedBy(userId);
- policyVersionDao.update(entityItem);
- if(policyData.isEditPolicy){
- PolicyNotificationMail email = new PolicyNotificationMail();
- String mode = "EditPolicy";
- String policyNameForEmail = policyData.getDomainDir() + File.separator + policyData.getOldPolicyFileName() + ".xml";
- email.sendMail(entityItem, policyNameForEmail, mode, policyNotificationDao);
- }
- }
- }
- }else{
- PolicyVersion entityItem = new PolicyVersion();
- entityItem.setActiveVersion(version);
- entityItem.setHigherVersion(version);
- entityItem.setPolicyName(removeExtension);
- entityItem.setCreatedBy(userId);
- entityItem.setModifiedBy(userId);
- policyVersionDao.Save(entityItem);
- }
- }
- }
-
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
- String responseString = mapper.writeValueAsString(successMap);
- JSONObject j = new JSONObject("{policyData: " + responseString + "}");
- out.write(j.toString());
- return null;
- }
- catch (Exception e){
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
- out.write(e.getMessage());
- }
- return null;
- }
-
- public void PrePopulateBRMSParamPolicyData(PolicyAdapter policyAdapter) {
- attributeList = new ArrayList<Object>();
- dynamicLayoutMap = new HashMap<String, String>();
- if (policyAdapter.getPolicyData() instanceof PolicyType) {
- PolicyType policy = (PolicyType) policyAdapter.getPolicyData();
- policyAdapter.setOldPolicyFileName(policyAdapter.getPolicyName());
- // policy name value is the policy name without any prefix and
- // Extensions.
- String policyNameValue = policyAdapter.getPolicyName().substring(policyAdapter.getPolicyName().indexOf("BRMS_Param_") +11, policyAdapter.getPolicyName().lastIndexOf("."));
- if (logger.isDebugEnabled()) {
- logger.debug("Prepopulating form data for BRMS RAW Policy selected:" + policyAdapter.getPolicyName());
- }
- policyAdapter.setPolicyName(policyNameValue);
- String description = "";
- try{
- description = policy.getDescription().substring(0, policy.getDescription().indexOf("@CreatedBy:"));
- }catch(Exception e){
- description = policy.getDescription();
- }
- policyAdapter.setPolicyDescription(description);
- // Set Attributes.
- AdviceExpressionsType expressionTypes = ((RuleType)policy.getCombinerParametersOrRuleCombinerParametersOrVariableDefinition().get(0)).getAdviceExpressions();
- for( AdviceExpressionType adviceExpression: expressionTypes.getAdviceExpression()){
- for(AttributeAssignmentExpressionType attributeAssignment: adviceExpression.getAttributeAssignmentExpression()){
- if(attributeAssignment.getAttributeId().startsWith("key:")){
- Map<String, String> attribute = new HashMap<String, String>();
- String key = attributeAssignment.getAttributeId().replace("key:", "");
- attribute.put("key", key);
- JAXBElement<AttributeValueType> attributevalue = (JAXBElement<AttributeValueType>) attributeAssignment.getExpression();
- String value = (String) attributevalue.getValue().getContent().get(0);
- attribute.put("value", value);
- attributeList.add(attribute);
- }
- }
- policyAdapter.setAttributes(attributeList);
- }
- String ruleConfigName = policyAdapter.getDirPath().replace(File.separator, ".")+ "." + policyAdapter.getOldPolicyFileName() + ".txt";
- policyAdapter.setConfigBodyPath(ruleConfigName);
- paramUIGenerate(policyAdapter);
- // Get the target data under policy.
- policyAdapter.setDynamicLayoutMap(dynamicLayoutMap);
- if(policyAdapter.getDynamicLayoutMap().size() > 0){
- LinkedHashMap<String,String> drlRule = new LinkedHashMap<String, String>();
- for(Object keyValue: policyAdapter.getDynamicLayoutMap().keySet()){
- drlRule.put(keyValue.toString(), policyAdapter.getDynamicLayoutMap().get(keyValue).toString());
- }
- policyAdapter.setRuleData(drlRule);
- }
- TargetType target = policy.getTarget();
- if (target != null) {
- // Under target we have AnyOFType
- List<AnyOfType> anyOfList = target.getAnyOf();
- if (anyOfList != null) {
- Iterator<AnyOfType> iterAnyOf = anyOfList.iterator();
- while (iterAnyOf.hasNext()) {
- AnyOfType anyOf = iterAnyOf.next();
- // Under AnyOFType we have AllOFType
- List<AllOfType> allOfList = anyOf.getAllOf();
- if (allOfList != null) {
- Iterator<AllOfType> iterAllOf = allOfList.iterator();
- int index = 0;
- while (iterAllOf.hasNext()) {
- AllOfType allOf = iterAllOf.next();
- // Under AllOFType we have Match
- List<MatchType> matchList = allOf.getMatch();
- if (matchList != null) {
- Iterator<MatchType> iterMatch = matchList.iterator();
- while (iterMatch.hasNext()) {
- MatchType match = iterMatch.next();
- //
- // Under the match we have attributevalue and
- // attributeDesignator. So,finally down to the actual attribute.
- //
- AttributeValueType attributeValue = match.getAttributeValue();
- String value = (String) attributeValue.getContent().get(0);
-
- if (index == 3){
- policyAdapter.setRiskType(value);
- }
-
- if (index == 4){
- policyAdapter.setRiskLevel(value);
- }
-
- if (index == 5){
- policyAdapter.setGuard(value);
- }
- if (index == 6 && !value.contains("NA")){
- String newDate = convertDate(value, true);
- policyAdapter.setTtlDate(newDate);
- }
-
- index++;
- }
- }
- }
- }
- }
- }
- }
- }
- }
-
- private String convertDate(String dateTTL, boolean portalType) {
- String formateDate = null;
- String[] date;
- String[] parts;
-
- if (portalType){
- parts = dateTTL.split("-");
- formateDate = parts[2] + "-" + parts[1] + "-" + parts[0] + "T05:00:00.000Z";
- } else {
- date = dateTTL.split("T");
- parts = date[0].split("-");
- formateDate = parts[2] + "-" + parts[1] + "-" + parts[0];
- }
- return formateDate;
- }
- // This method generates the UI from rule configuration
- private void paramUIGenerate(PolicyAdapter policyAdapter) {
- String fileLocation = null;
- String fileName = policyAdapter.getConfigBodyPath();
- if (fileName != null) {
- fileLocation = PolicyController.getConfigHome();
- }
- if (logger.isDebugEnabled()) {
- logger.debug("Attempting to read file from the location: " + fileLocation);
- }
- if (fileLocation == null) {
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + "Error with the FileName: " + fileName);
- return;
- }
- File dir = new File(fileLocation);
- File[] listOfFiles = dir.listFiles();
- for (File file : listOfFiles) {
- if (file.isFile() && file.getName().contains(fileName)
- && file.toString().endsWith(".txt")) {
- // Reading the file
- try {
- try (BufferedReader br = new BufferedReader(new FileReader(file))) {
- StringBuilder sb = new StringBuilder();
- String line = br.readLine();
- while (line != null) {
- sb.append(line);
- sb.append("\n");
- line = br.readLine();
- }
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE+ e.getMessage());
- }
- String params = "";
- Boolean flag = false;
- Boolean comment = false;
- for (String line : Files.readAllLines(Paths.get(file.toString()))) {
- if (line.isEmpty() || line.startsWith("//")) {
- continue;
- }
- if(line.contains("<$%BRMSParamTemplate=")){
- String value = line.substring(line.indexOf("<$%"),line.indexOf("%$>"));
- value = value.replace("<$%BRMSParamTemplate=", "");
- policyAdapter.setRuleName(value);
- }
- if (line.startsWith("/*")) {
- comment = true;
- continue;
- }
- if (line.contains("//")) {
- if(!(line.contains("http://") || line.contains("https://"))){
- line = line.split("\\/\\/")[0];
- }
- }
- if (line.contains("/*")) {
- comment = true;
- if (line.contains("*/")) {
- try {
- comment = false;
- line = line.split("\\/\\*")[0]
- + line.split("\\*\\/")[1].replace(
- "*/", "");
- } catch (Exception e) {
- line = line.split("\\/\\*")[0];
- }
- } else {
- line = line.split("\\/\\*")[0];
- }
- }
- if (line.contains("*/")) {
- comment = false;
- try {
- line = line.split("\\*\\/")[1]
- .replace("*/", "");
- } catch (Exception e) {
- line = "";
- }
- }
- if (comment) {
- continue;
- }
- if (flag) {
- params = params + line;
- }
- if (line.contains("rule \"Params\"")) {
- params = params + line;
- flag = true;
- }
- if (line.contains("end") && flag) {
- break;
- }
- }
- params = params.replaceAll("\\s+", "").replace("rule\"Params\"salience1000whenthenParamsparams=newParams();","")
- .replace("insert(params);end", "")
- .replace("params.set", "");
- String[] components = params.split(";");
- if(components!= null && components.length > 0){
- for (int i = 0; i < components.length; i++) {
- String value = null;
- String caption = components[i].substring(0,
- components[i].indexOf("("));
- caption = caption.substring(0, 1).toLowerCase() + caption.substring(1);
- if (components[i].contains("(\"")) {
- value = components[i]
- .substring(components[i].indexOf("(\""),
- components[i].indexOf("\")"))
- .replace("(\"", "").replace("\")", "");
- } else {
- value = components[i]
- .substring(components[i].indexOf("("),
- components[i].indexOf(")"))
- .replace("(", "").replace(")", "");
- }
- dynamicLayoutMap.put(caption, value);
-
- }
- }
- } catch (FileNotFoundException e) {
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE + e.getMessage());
- } catch (IOException e1) {
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE+ e1.getMessage());
- }
- }
- }
- }
-
- // set View Rule
- @RequestMapping(value={"/policyController/ViewBRMSParamPolicyRule.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView setViewRule(HttpServletRequest request, HttpServletResponse response) throws Exception{
- try {
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- PolicyAdapter policyData = (PolicyAdapter)mapper.readValue(root.get("policyData").get("policy").toString(), PolicyAdapter.class);
-
- String body = "";
-
- body = "/* Autogenerated Code Please Don't change/remove this comment section. This is for the UI purpose. \n\t " +
- "<$%BRMSParamTemplate=" + policyData.getRuleName() + "%$> \n */ \n";
- body = body + findRule((String) policyData.getRuleName()) + "\n";
- String generatedRule = "rule \"Params\" \n\tsalience 1000 \n\twhen\n\tthen\n\t\tParams params = new Params();";
-
- if(policyData.getRuleData().size() > 0){
- for(Object keyValue: policyData.getRuleData().keySet()){
- String key = keyValue.toString().substring(0, 1).toUpperCase() + keyValue.toString().substring(1);
- if (keyValue.equals("String")) {
- generatedRule = generatedRule + "\n\t\tparams.set"
- + key + "(\""
- + policyData.getRuleData().get(keyValue).toString() + "\");";
- } else {
- generatedRule = generatedRule + "\n\t\tparams.set"
- + key + "("
- + policyData.getRuleData().get(keyValue).toString() + ");";
- }
- }
- }
- generatedRule = generatedRule
- + "\n\t\tinsert(params);\nend";
- logger.info("New rule generated with :" + generatedRule);
- body = body + generatedRule;
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
- String responseString = mapper.writeValueAsString(body);
- JSONObject j = new JSONObject("{policyData: " + responseString + "}");
- out.write(j.toString());
- return null;
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
- }
- return null;
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateBRMSRawController.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateBRMSRawController.java
deleted file mode 100644
index 6dcd8400b..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateBRMSRawController.java
+++ /dev/null
@@ -1,440 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.controller;
-
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.xml.bind.JAXBElement;
-
-//import org.apache.commons.logging.Log;
-//import org.apache.commons.logging.LogFactory;
-import org.json.JSONObject;
-import org.openecomp.policy.adapter.PolicyAdapter;
-import org.openecomp.policy.admin.PolicyNotificationMail;
-import org.openecomp.policy.admin.RESTfulPAPEngine;
-import org.openecomp.policy.dao.PolicyVersionDao;
-import org.openecomp.policy.dao.RuleAlgorithmsDao;
-import org.openecomp.policy.dao.WatchPolicyNotificationDao;
-import org.openecomp.policy.elk.client.PolicyElasticSearchController;
-import org.openecomp.policy.rest.jpa.PolicyVersion;
-import org.openecomp.policy.rest.jpa.RuleAlgorithms;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
-import org.openecomp.portalsdk.core.web.support.UserUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-import com.att.research.xacml.api.XACML3;
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import org.openecomp.policy.xacml.util.XACMLPolicyScanner;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.base.Joiner;
-
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AdviceExpressionType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AdviceExpressionsType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeAssignmentExpressionType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.RuleType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Controller
-@RequestMapping("/")
-public class CreateBRMSRawController extends RestrictedBaseController {
-
- private static final Logger logger = FlexLogger.getLogger(CreateBRMSRawController.class);
-
- private static RuleAlgorithmsDao ruleAlgorithmsDao;
- private static PolicyVersionDao policyVersionDao;
- private static WatchPolicyNotificationDao policyNotificationDao;
-
- @Autowired
- private CreateBRMSRawController(RuleAlgorithmsDao ruleAlgorithmsDao, PolicyVersionDao policyVersionDao, WatchPolicyNotificationDao policyNotificationDao){
- CreateBRMSRawController.policyVersionDao = policyVersionDao;
- CreateBRMSRawController.ruleAlgorithmsDao = ruleAlgorithmsDao;
- CreateBRMSRawController.policyNotificationDao = policyNotificationDao;
- }
-
- public CreateBRMSRawController(){}
- protected PolicyAdapter policyAdapter = null;
- private ArrayList<Object> attributeList;
- private String ruleID = "";
- public String newPolicyID() {
- return Joiner.on(':').skipNulls().join((PolicyController.getDomain().startsWith("urn") ? null: "urn"),
- PolicyController.getDomain().replaceAll("[/\\\\.]", ":"), "xacml", "policy", "id", UUID.randomUUID());
- }
-
-
-
- @RequestMapping(value={"/policyController/save_BRMSRawPolicy.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView saveBRMSRawPolicy(HttpServletRequest request, HttpServletResponse response) throws Exception{
- try {
- String userId = UserUtils.getUserIdFromCookie(request);
- RESTfulPAPEngine engine = (RESTfulPAPEngine) PolicyController.getPapEngine();
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- PolicyAdapter policyData = (PolicyAdapter)mapper.readValue(root.get("policyData").get("policy").toString(), PolicyAdapter.class);
-
- if(root.get("policyData").get("model").get("type").toString().replace("\"", "").equals("file")){
- policyData.isEditPolicy = true;
- }
- if(root.get("policyData").get("model").get("path").size() != 0){
- String dirName = "";
- for(int i = 0; i < root.get("policyData").get("model").get("path").size(); i++){
- dirName = dirName.replace("\"", "") + root.get("policyData").get("model").get("path").get(i).toString().replace("\"", "") + File.separator;
- }
- policyData.setDomainDir(dirName.substring(0, dirName.lastIndexOf(File.separator)));
- }else{
- policyData.setDomainDir(root.get("policyData").get("model").get("name").toString().replace("\"", ""));
- }
-
- if (policyData.getTtlDate()==null){
- policyData.setTtlDate("NA");
- }else{
- String dateTTL = policyData.getTtlDate();
- String newDate = convertDate(dateTTL);
- policyData.setTtlDate(newDate);
- }
-
- int version = 0;
- int highestVersion = 0;
- int descriptionVersion = 0;
- //get the highest version of policy from policy version table.
- //getting the sub scope domain where the policy is created or updated
- String dbCheckPolicyName = policyData.getDomainDir() + File.separator + "Config_BRMS_Raw_" + policyData.getPolicyName();
- List<PolicyVersion> policyVersionList = policyVersionDao.getPolicyVersionEntityByName(dbCheckPolicyName);
- if (policyVersionList.size() > 0) {
- for(int i = 0; i < policyVersionList.size(); i++) {
- PolicyVersion entityItem = policyVersionList.get(i);
- if(entityItem.getPolicyName().equals(dbCheckPolicyName)){
- highestVersion = entityItem.getHigherVersion();
- }
- }
- }
- if(highestVersion != 0){
- version = highestVersion;
- descriptionVersion = highestVersion +1;
- }else{
- version = 1;
- descriptionVersion = 1;
- }
-
- //set policy adapter values for Building JSON object containing policy data
- String createdBy = "";
- String modifiedBy = userId;
- if(descriptionVersion == 1){
- createdBy = userId;
- }else{
- String policyName = PolicyController.getGitPath().toAbsolutePath().toString() + File.separator + policyData.getDomainDir() + File.separator + policyData.getOldPolicyFileName() + ".xml";
- File policyPath = new File(policyName);
- try {
- createdBy = XACMLPolicyScanner.getCreatedBy(policyPath.toPath());
- } catch (IOException e) {
- createdBy = "guest";
- }
- }
-
- policyData.setPolicyDescription(policyData.getPolicyDescription()+ "@CreatedBy:" +createdBy + "@CreatedBy:" + "@ModifiedBy:" +modifiedBy + "@ModifiedBy:");
- Map<String, String> successMap = new HashMap<String, String>();
- Map<String, String> attributeMap = new HashMap<String, String>();
- //set the Rule Combining Algorithm Id to be sent to PAP-REST via JSON
- List<RuleAlgorithms> ruleAlgorithmsList = ruleAlgorithmsDao.getRuleAlgorithms();
- for (int i = 0; i < ruleAlgorithmsList.size(); i++) {
- RuleAlgorithms a = ruleAlgorithmsList.get(i);
- if (a.getXacmlId().equals(XACML3.ID_RULE_PERMIT_OVERRIDES.stringValue())) {
- policyData.setRuleCombiningAlgId(a.getXacmlId());
- break;
- }
- }
-
- if(policyData.getAttributes().size() > 0){
- for(Object attribute : policyData.getAttributes()){
- if(attribute instanceof LinkedHashMap<?, ?>){
- String key = ((LinkedHashMap<?, ?>) attribute).get("key").toString();
- String value = ((LinkedHashMap<?, ?>) attribute).get("value").toString();
- attributeMap.put(key, value);
- }
- }
- }
-
-
- policyData.setEcompName("DROOLS");
- policyData.setConfigName("BRMS_RAW_RULE");
- policyData.setDynamicFieldConfigAttributes(attributeMap);
- if (policyData.isEditPolicy()){
- //increment the version and set in policyAdapter
- policyData.setVersion(String.valueOf(version));
- policyData.setHighestVersion(version);
- policyData.setPolicyID(this.newPolicyID());
- policyData.setRuleID(ruleID);
- successMap = engine.updatePolicyRequest(policyData);
- } else {
- //send it for policy creation
- policyData.setVersion(String.valueOf(version));
- policyData.setHighestVersion(version);
- successMap = engine.createPolicyRequest(policyData);
- }
-
- if (successMap.containsKey("success")) {
- // Add it into our tree
- Path finalPolicyPath = null;
- finalPolicyPath = Paths.get(successMap.get("success"));
- PolicyElasticSearchController controller = new PolicyElasticSearchController();
- controller.updateElk(finalPolicyPath.toString());
- File file = finalPolicyPath.toFile();
- if(file != null){
- String policyName = file.toString();
- String removePath = policyName.substring(policyName.indexOf("repository")+11);
- String removeXml = removePath.replace(".xml", "");
- String removeExtension = removeXml.substring(0, removeXml.indexOf("."));
- List<PolicyVersion> versionList = policyVersionDao.getPolicyVersionEntityByName(removeExtension);
- if (versionList.size() > 0) {
- for(int i = 0; i < versionList.size(); i++) {
- PolicyVersion entityItem = versionList.get(i);
- if(entityItem.getPolicyName().equals(removeExtension)){
- version = entityItem.getHigherVersion() +1;
- entityItem.setActiveVersion(version);
- entityItem.setHigherVersion(version);
- entityItem.setModifiedBy(userId);
- policyVersionDao.update(entityItem);
- if(policyData.isEditPolicy){
- PolicyNotificationMail email = new PolicyNotificationMail();
- String mode = "EditPolicy";
- String policyNameForEmail = policyData.getDomainDir() + File.separator + policyData.getOldPolicyFileName() + ".xml";
- email.sendMail(entityItem, policyNameForEmail, mode, policyNotificationDao);
- }
- }
- }
- }else{
- PolicyVersion entityItem = new PolicyVersion();
- entityItem.setActiveVersion(version);
- entityItem.setHigherVersion(version);
- entityItem.setPolicyName(removeExtension);
- entityItem.setCreatedBy(userId);
- entityItem.setModifiedBy(userId);
- policyVersionDao.Save(entityItem);
- }
- }
- }
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
- String responseString = mapper.writeValueAsString(successMap);
- JSONObject j = new JSONObject("{policyData: " + responseString + "}");
- out.write(j.toString());
- return null;
- }
- catch (Exception e){
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
- out.write(e.getMessage());
- }
- return null;
- }
-
- private String convertDate(String dateTTL) {
- String formateDate = null;
- String[] date = dateTTL.split("T");
- String[] parts = date[0].split("-");
-
- formateDate = parts[2] + "-" + parts[1] + "-" + parts[0];
- return formateDate;
- }
-
- public void PrePopulateBRMSRawPolicyData(PolicyAdapter policyAdapter) {
- attributeList = new ArrayList<Object>();
- if (policyAdapter.getPolicyData() instanceof PolicyType) {
- PolicyType policy = (PolicyType) policyAdapter.getPolicyData();
- policyAdapter.setOldPolicyFileName(policyAdapter.getPolicyName());
- // policy name value is the policy name without any prefix and
- // Extensions.
- String policyNameValue = policyAdapter.getPolicyName().substring(policyAdapter.getPolicyName().indexOf("BRMS_Raw_") +9, policyAdapter.getPolicyName().lastIndexOf("."));
- if (logger.isDebugEnabled()) {
- logger.debug("Prepopulating form data for BRMS RAW Policy selected:" + policyAdapter.getPolicyName());
- }
- policyAdapter.setPolicyName(policyNameValue);
- String description = "";
- try{
- description = policy.getDescription().substring(0, policy.getDescription().indexOf("@CreatedBy:"));
- }catch(Exception e){
- description = policy.getDescription();
- }
- policyAdapter.setPolicyDescription(description);
- // Set Attributes.
- AdviceExpressionsType expressionTypes = ((RuleType)policy.getCombinerParametersOrRuleCombinerParametersOrVariableDefinition().get(0)).getAdviceExpressions();
- for( AdviceExpressionType adviceExpression: expressionTypes.getAdviceExpression()){
- for(AttributeAssignmentExpressionType attributeAssignment: adviceExpression.getAttributeAssignmentExpression()){
- if(attributeAssignment.getAttributeId().startsWith("key:")){
- Map<String, String> attribute = new HashMap<String, String>();
- String key = attributeAssignment.getAttributeId().replace("key:", "");
- attribute.put("key", key);
- JAXBElement<AttributeValueType> attributevalue = (JAXBElement<AttributeValueType>) attributeAssignment.getExpression();
- String value = (String) attributevalue.getValue().getContent().get(0);
- attribute.put("value", value);
- attributeList.add(attribute);
- }
- }
- policyAdapter.setAttributes(attributeList);
- }
- String ruleConfigName = policyAdapter.getDirPath().replace(File.separator, ".")+ "." + policyAdapter.getOldPolicyFileName() + ".";
- policyAdapter.setConfigBodyPath(ruleConfigName);
- // Get the target data under policy.
- policyAdapter.setConfigBodyData(readFile(policyAdapter));
- TargetType target = policy.getTarget();
- if (target != null) {
- // Under target we have AnyOFType
- List<AnyOfType> anyOfList = target.getAnyOf();
- if (anyOfList != null) {
- Iterator<AnyOfType> iterAnyOf = anyOfList.iterator();
- while (iterAnyOf.hasNext()) {
- AnyOfType anyOf = iterAnyOf.next();
- // Under AnyOFType we have AllOFType
- List<AllOfType> allOfList = anyOf.getAllOf();
- if (allOfList != null) {
- Iterator<AllOfType> iterAllOf = allOfList.iterator();
- int index = 0;
- while (iterAllOf.hasNext()) {
- AllOfType allOf = iterAllOf.next();
- // Under AllOFType we have Match
- List<MatchType> matchList = allOf.getMatch();
- if (matchList != null) {
- Iterator<MatchType> iterMatch = matchList.iterator();
- while (iterMatch.hasNext()) {
- MatchType match = iterMatch.next();
- //
- // Under the match we have attributevalue and
- // attributeDesignator. So,finally down to the actual attribute.
- //
- AttributeValueType attributeValue = match.getAttributeValue();
- String value = (String) attributeValue.getContent().get(0);
-
- if (index == 3){
- policyAdapter.setRiskType(value);
- }
-
- if (index == 4){
- policyAdapter.setRiskLevel(value);
- }
-
- if (index == 5){
- policyAdapter.setGuard(value);
- }
- if (index == 6 && !value.contains("NA")){
- String newDate = convertDate(value, true);
- policyAdapter.setTtlDate(newDate);
- }
-
- index++;
- }
- }
- }
- }
- }
- }
- }
- }
- }
-
- private String convertDate(String dateTTL, boolean portalType) {
- String formateDate = null;
- String[] date;
- String[] parts;
-
- if (portalType){
- parts = dateTTL.split("-");
- formateDate = parts[2] + "-" + parts[1] + "-" + parts[0] + "T05:00:00.000Z";
- } else {
- date = dateTTL.split("T");
- parts = date[0].split("-");
- formateDate = parts[2] + "-" + parts[1] + "-" + parts[0];
- }
- return formateDate;
- }
-
- // Here we are reading the configurations file
- protected String readFile(PolicyAdapter policyAdapter) {
- String fileLocation = null;
- String fileName = policyAdapter.getConfigBodyPath();
- if (fileName != null ) {
- fileLocation = PolicyController.getConfigHome();
- }
- if (fileLocation == null) {
- return fileLocation;
- }
- File dir = new File(fileLocation);
- File[] listOfFiles = dir.listFiles();
- for (File file : listOfFiles) {
- if (file.isFile() && file.getName().contains(fileName) && file.toString().endsWith(".txt")) {
- // Reading the file
- try (BufferedReader br = new BufferedReader(new FileReader(file))) {
- StringBuilder sb = new StringBuilder();
- String line = br.readLine();
- while (line != null) {
- sb.append(line);
- sb.append("\n");
- line = br.readLine();
- }
- return sb.toString();
- } catch (FileNotFoundException e) {
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE + e.getMessage());
- } catch (IOException e1) {
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE + e1.getMessage());
- }
- }
- }
- return null;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateClosedLoopFaultController.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateClosedLoopFaultController.java
deleted file mode 100644
index b41f7e0ef..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateClosedLoopFaultController.java
+++ /dev/null
@@ -1,889 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.controller;
-
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-
-import javax.json.Json;
-import javax.json.JsonReader;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.json.JSONObject;
-import org.openecomp.policy.adapter.ClosedLoopFaultBody;
-import org.openecomp.policy.adapter.ClosedLoopFaultTriggerUISignatures;
-import org.openecomp.policy.adapter.ClosedLoopSignatures;
-import org.openecomp.policy.adapter.PolicyAdapter;
-import org.openecomp.policy.admin.PolicyNotificationMail;
-import org.openecomp.policy.admin.RESTfulPAPEngine;
-import org.openecomp.policy.dao.PolicyVersionDao;
-import org.openecomp.policy.dao.RuleAlgorithmsDao;
-import org.openecomp.policy.dao.WatchPolicyNotificationDao;
-import org.openecomp.policy.elk.client.PolicyElasticSearchController;
-import org.openecomp.policy.rest.dao.VarbindDictionaryDao;
-import org.openecomp.policy.rest.jpa.EcompName;
-import org.openecomp.policy.rest.jpa.PolicyVersion;
-import org.openecomp.policy.rest.jpa.RuleAlgorithms;
-import org.openecomp.policy.rest.jpa.VarbindDictionary;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
-import org.openecomp.portalsdk.core.web.support.UserUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-import com.att.research.xacml.api.XACML3;
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import org.openecomp.policy.xacml.util.XACMLPolicyScanner;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.ObjectWriter;
-import com.google.common.base.Joiner;
-
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType;
-
-@Controller
-@RequestMapping("/")
-public class CreateClosedLoopFaultController extends RestrictedBaseController{
-
- private static RuleAlgorithmsDao ruleAlgorithmsDao;
- private static PolicyVersionDao policyVersionDao;
- private static VarbindDictionaryDao varbindDictionaryDao;
- private static WatchPolicyNotificationDao policyNotificationDao;
-
- @Autowired
- private CreateClosedLoopFaultController(RuleAlgorithmsDao ruleAlgorithmsDao, PolicyVersionDao policyVersionDao, VarbindDictionaryDao varbindDictionaryDao,
- WatchPolicyNotificationDao policyNotificationDao){
- CreateClosedLoopFaultController.policyVersionDao = policyVersionDao;
- CreateClosedLoopFaultController.ruleAlgorithmsDao = ruleAlgorithmsDao;
- CreateClosedLoopFaultController.varbindDictionaryDao = varbindDictionaryDao;
- CreateClosedLoopFaultController.policyNotificationDao = policyNotificationDao;
- }
-
- public CreateClosedLoopFaultController(){}
- protected PolicyAdapter policyAdapter = null;
- private String ruleID = "";
- public String newPolicyID() {
- return Joiner.on(':').skipNulls().join((PolicyController.getDomain().startsWith("urn") ? null: "urn"),
- PolicyController.getDomain().replaceAll("[/\\\\.]", ":"), "xacml", "policy", "id", UUID.randomUUID());
- }
-
- @RequestMapping(value={"/policyController/save_Faultpolicy.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView saveFaultPolicy(HttpServletRequest request, HttpServletResponse response) throws Exception{
- try {
- String userId = UserUtils.getUserIdFromCookie(request);
- RESTfulPAPEngine engine = (RESTfulPAPEngine) PolicyController.getPapEngine();
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- PolicyAdapter policyData = (PolicyAdapter)mapper.readValue(root.get("policyData").get("policy").toString(), PolicyAdapter.class);
- TrapDatas trapDatas = mapper.readValue(root.get("trapData").toString(), TrapDatas.class);
- TrapDatas faultDatas = mapper.readValue(root.get("faultData").toString(), TrapDatas.class);
- ClosedLoopGridJSONData policyJsonData = mapper.readValue(root.get("policyData").get("policy").toString(), ClosedLoopGridJSONData.class);
- ClosedLoopFaultBody jsonBody = mapper.readValue(root.get("policyData").get("policy").get("jsonBodyData").toString(), ClosedLoopFaultBody.class);
- policyData.setDomainDir(root.get("policyData").get("model").get("name").toString().replace("\"", ""));
- if(root.get("policyData").get("model").get("type").toString().replace("\"", "").equals("file")){
- policyData.isEditPolicy = true;
- }
-
- if (policyData.getTtlDate()==null){
- policyData.setTtlDate("NA");
- }else{
- String dateTTL = policyData.getTtlDate();
- String newDate = convertDate(dateTTL);
- policyData.setTtlDate(newDate);
- }
-
- if(root.get("policyData").get("model").get("path").size() != 0){
- String dirName = "";
- for(int i = 0; i < root.get("policyData").get("model").get("path").size(); i++){
- dirName = dirName.replace("\"", "") + root.get("policyData").get("model").get("path").get(i).toString().replace("\"", "") + File.separator;
- }
- policyData.setDomainDir(dirName.substring(0, dirName.lastIndexOf(File.separator)));
- }else{
- policyData.setDomainDir(root.get("policyData").get("model").get("name").toString().replace("\"", ""));
- }
- ArrayList<Object> trapSignatureDatas = new ArrayList<Object>();
- if(trapDatas.getTrap1() != null){
- trapSignatureDatas.add(trapDatas);
- }
- ArrayList<Object> faultSignatureDatas = new ArrayList<Object>();
- if(faultDatas.getTrap1() != null){
- faultSignatureDatas.add(faultDatas);
- }
-
- String resultBody = "";
- if(!policyJsonData.getConnecttriggerSignatures().isEmpty()){
- resultBody = resultBody + "(";
- for(int i = policyJsonData.getConnecttriggerSignatures().size()-1; i>=0 ; i--){
- String connectBody = connectTriggerSignature(i, policyJsonData.getConnecttriggerSignatures(), trapSignatureDatas.get(0));
- resultBody = resultBody + connectBody;
- }
- resultBody = resultBody + ")";
- }else{
- if(!trapSignatureDatas.isEmpty()){
- resultBody = callTrap("nill", trapSignatureDatas.get(0));
- }
- }
- ClosedLoopSignatures triggerSignatures = new ClosedLoopSignatures();
- triggerSignatures.setSignatures(resultBody);
- if(policyData.getClearTimeOut() != null){
- triggerSignatures.setTimeWindow(Integer.parseInt(policyData.getClearTimeOut()));
- triggerSignatures.setTrapMaxAge(Integer.parseInt(policyData.getTrapMaxAge()));
- ClosedLoopFaultTriggerUISignatures uiTriggerSignatures = new ClosedLoopFaultTriggerUISignatures();
- if(!trapSignatureDatas.isEmpty()){
- uiTriggerSignatures.setSignatures(getUITriggerSignature("Trap", trapSignatureDatas.get(0)));
- if(!policyJsonData.getConnecttriggerSignatures().isEmpty()){
- uiTriggerSignatures.setConnectSignatures(getUIConnectTraps(policyJsonData.getConnecttriggerSignatures()));
- }
- }
- jsonBody.setTriggerSignaturesUsedForUI(uiTriggerSignatures);
- jsonBody.setTriggerTimeWindowUsedForUI(Integer.parseInt(policyData.getClearTimeOut()));
- jsonBody.setTrapMaxAgeUsedForUI(Integer.parseInt(policyData.getTrapMaxAge()));
- }
-
- jsonBody.setTriggerSignatures(triggerSignatures);
- String faultBody = "";
- if(!policyJsonData.getConnectVerificationSignatures().isEmpty()){
- faultBody = faultBody + "(";
- for(int i = policyJsonData.getConnectVerificationSignatures().size()-1; i>=0 ; i--){
- String connectBody = connectTriggerSignature(i, policyJsonData.getConnectVerificationSignatures(), faultSignatureDatas.get(0));
- faultBody = faultBody + connectBody;
- }
- faultBody = faultBody + ")";
- }else{
- if(!faultSignatureDatas.isEmpty()){
- faultBody = callTrap("nill", faultSignatureDatas.get(0));
- }
- }
- ClosedLoopSignatures faultSignatures = new ClosedLoopSignatures();
- faultSignatures.setSignatures(faultBody);
- if(policyData.getVerificationclearTimeOut() != null){
- faultSignatures.setTimeWindow(Integer.parseInt(policyData.getVerificationclearTimeOut()));
- ClosedLoopFaultTriggerUISignatures uifaultSignatures = new ClosedLoopFaultTriggerUISignatures();
- if(!faultSignatureDatas.isEmpty()){
- uifaultSignatures.setSignatures(getUITriggerSignature("Fault", faultSignatureDatas.get(0)));
- if(!policyJsonData.getConnectVerificationSignatures().isEmpty()){
- uifaultSignatures.setConnectSignatures(getUIConnectTraps(policyJsonData.getConnectVerificationSignatures()));
- }
- }
-
- jsonBody.setVerificationSignaturesUsedForUI(uifaultSignatures);
- jsonBody.setVerfificationTimeWindowUsedForUI(Integer.parseInt(policyData.getVerificationclearTimeOut()));
- }
- jsonBody.setVerificationSignatures(faultSignatures);
- ObjectWriter om = new ObjectMapper().writer();
- String json = om.writeValueAsString(jsonBody);
- policyData.setJsonBody(json);
-
- int version = 0;
- int highestVersion = 0;
- int descriptionVersion = 0;
- //get the highest version of policy from policy version table.
- //getting the sub scope domain where the policy is created or updated
- String dbCheckPolicyName = policyData.getDomainDir() + File.separator + "Config_Fault_" + policyData.getPolicyName();
- List<PolicyVersion> policyVersionList = policyVersionDao.getPolicyVersionEntityByName(dbCheckPolicyName);
- if (policyVersionList.size() > 0) {
- for(int i = 0; i < policyVersionList.size(); i++) {
- PolicyVersion entityItem = policyVersionList.get(i);
- if(entityItem.getPolicyName().equals(dbCheckPolicyName)){
- highestVersion = entityItem.getHigherVersion();
- }
- }
- }
- if(highestVersion != 0){
- version = highestVersion;
- descriptionVersion = highestVersion +1;
- }else{
- version = 1;
- descriptionVersion = 1;
- }
-
- //set policy adapter values for Building JSON object containing policy data
- String createdBy = "";
- String modifiedBy = userId;
- if(descriptionVersion == 1){
- createdBy = userId;
- }else{
- String policyName = PolicyController.getGitPath().toAbsolutePath().toString() + File.separator + policyData.getDomainDir() + File.separator + policyData.getOldPolicyFileName() + ".xml";
- File policyPath = new File(policyName);
- try {
- createdBy = XACMLPolicyScanner.getCreatedBy(policyPath.toPath());
- } catch (IOException e) {
- createdBy = "guest";
- }
- }
-
- policyData.setPolicyDescription(policyData.getPolicyDescription()+ "@CreatedBy:" +createdBy + "@CreatedBy:" + "@ModifiedBy:" +modifiedBy + "@ModifiedBy:");
- Map<String, String> successMap = new HashMap<String, String>();
- //set the Rule Combining Algorithm Id to be sent to PAP-REST via JSON
- List<RuleAlgorithms> ruleAlgorithsList = ruleAlgorithmsDao.getRuleAlgorithms();
- for (int i = 0; i < ruleAlgorithsList.size(); i++) {
- RuleAlgorithms a = ruleAlgorithsList.get(i);
- if (a.getXacmlId().equals(XACML3.ID_RULE_PERMIT_OVERRIDES.stringValue())) {
- policyData.setRuleCombiningAlgId(a.getXacmlId());
- break;
- }
- }
- if (policyData.isEditPolicy()){
- //increment the version and set in policyAdapter
- policyData.setVersion(String.valueOf(version));
- policyData.setHighestVersion(version);
- policyData.setPolicyID(this.newPolicyID());
- policyData.setRuleID(ruleID);
- successMap = engine.updatePolicyRequest(policyData);
- } else {
- //send it for policy creation
- policyData.setVersion(String.valueOf(version));
- policyData.setHighestVersion(version);
- successMap = engine.createPolicyRequest(policyData);
-
- }
-
- if (successMap.containsKey("success")) {
- // Add it into our tree
- Path finalPolicyPath = null;
- finalPolicyPath = Paths.get(successMap.get("success"));
- PolicyElasticSearchController controller = new PolicyElasticSearchController();
- controller.updateElk(finalPolicyPath.toString());
- File file = finalPolicyPath.toFile();
- if(file != null){
- String policyName = file.toString();
- String removePath = policyName.substring(policyName.indexOf("repository")+11);
- String removeXml = removePath.replace(".xml", "");
- String removeExtension = removeXml.substring(0, removeXml.indexOf("."));
- List<PolicyVersion> versionlist = policyVersionDao.getPolicyVersionEntityByName(removeExtension);
- if (versionlist.size() > 0) {
- for(int i = 0; i < versionlist.size(); i++) {
- PolicyVersion entityItem = versionlist.get(i);
- if(entityItem.getPolicyName().equals(removeExtension)){
- version = entityItem.getHigherVersion() +1;
- entityItem.setActiveVersion(version);
- entityItem.setHigherVersion(version);
- entityItem.setModifiedBy(userId);
- policyVersionDao.update(entityItem);
- if(policyData.isEditPolicy){
- PolicyNotificationMail email = new PolicyNotificationMail();
- String mode = "EditPolicy";
- String policyNameForEmail = policyData.getDomainDir() + File.separator + policyData.getOldPolicyFileName() + ".xml";
- email.sendMail(entityItem, policyNameForEmail, mode, policyNotificationDao);
- }
- }
- }
- }else{
- PolicyVersion entityItem = new PolicyVersion();
- entityItem.setActiveVersion(version);
- entityItem.setHigherVersion(version);
- entityItem.setPolicyName(removeExtension);
- entityItem.setCreatedBy(userId);
- entityItem.setModifiedBy(userId);
- policyVersionDao.Save(entityItem);
- }
- }
- }
-
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
- String responseString = mapper.writeValueAsString(successMap);
- JSONObject j = new JSONObject("{policyData: " + responseString + "}");
- out.write(j.toString());
- return null;
- }
- catch (Exception e){
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
- out.write(e.getMessage());
- }
- return null;
- }
-
- //connect traps data set to JSON Body as String
- @SuppressWarnings("rawtypes")
- private String getUIConnectTraps(ArrayList<Object> connectTrapSignatures) {
- String resultBody = "";
- String connectMainBody = "";
- for(int j = 0; j < connectTrapSignatures.size(); j++){
- Map<String, String> connectTraps = (Map<String, String>)connectTrapSignatures.get(j);
- String connectBody = "";
- Object object = connectTraps;
- if(object instanceof LinkedHashMap<?, ?>){
- String notBox = "";
- if(((LinkedHashMap) object).keySet().contains("notBox")){
- notBox = ((LinkedHashMap) object).get("notBox").toString();
- }
- String connectTrap1 = ((LinkedHashMap) object).get("connectTrap1").toString();
- String trapCount1 = ((LinkedHashMap) object).get("trapCount1").toString();
- String operatorBox = ((LinkedHashMap) object).get("operatorBox").toString();
- String connectTrap2 = ((LinkedHashMap) object).get("connectTrap2").toString();
- String trapCount2 = ((LinkedHashMap) object).get("trapCount2").toString();
- connectBody = notBox + "@!" + connectTrap1 + "@!" + trapCount1 + "@!" + operatorBox + "@!" + connectTrap2 + "@!" + trapCount2 + "#!?!";
- }
- resultBody = resultBody + connectBody;
- }
- connectMainBody = connectMainBody + resultBody;
- return connectMainBody;
- }
-
-
-
- // get Trigger signature from JSON body
- private String getUITriggerSignature(String trap, Object object2) {
- String triggerBody = "";
- TrapDatas trapDatas = (TrapDatas) object2;
- ArrayList<Object> attributeList = new ArrayList<>();
- // Read the Trap
- if(trap.startsWith("Trap")){
- if(trapDatas.getTrap1()!= null){
- attributeList.add(trapDatas.getTrap1());
- }
- if(trapDatas.getTrap2()!= null){
- attributeList.add(trapDatas.getTrap2());
- }
- if(trapDatas.getTrap3()!= null){
- attributeList.add(trapDatas.getTrap3());
- }
- if(trapDatas.getTrap4()!= null){
- attributeList.add(trapDatas.getTrap4());
- }
- if(trapDatas.getTrap5()!= null){
- attributeList.add(trapDatas.getTrap5());
- }
- if(trapDatas.getTrap6()!= null){
- attributeList.add(trapDatas.getTrap6());
- }
- }else{
- if(trap.equals("Fault")){
- if(trapDatas.getTrap1()!= null){
- attributeList.add(trapDatas.getTrap1());
- }
- if(trapDatas.getTrap2()!= null){
- attributeList.add(trapDatas.getTrap2());
- }
- if(trapDatas.getTrap3()!= null){
- attributeList.add(trapDatas.getTrap3());
- }
- if(trapDatas.getTrap4()!= null){
- attributeList.add(trapDatas.getTrap4());
- }
- if(trapDatas.getTrap5()!= null){
- attributeList.add(trapDatas.getTrap5());
- }
- if(trapDatas.getTrap6()!= null){
- attributeList.add(trapDatas.getTrap6());
- }
- }
- }
-
- for(int j = 0; j < attributeList.size(); j++){
- String signatureBody = "";
- ArrayList<Object> connectTraps = (ArrayList<Object>) attributeList.get(j);
- for(int i =0 ; i < connectTraps.size(); i++){
- String connectBody = "";
- Object object = connectTraps.get(i);
- if(object instanceof LinkedHashMap<?, ?>){
- String notBox = "";
- if(((LinkedHashMap) object).keySet().contains("notBox")){
- notBox = ((LinkedHashMap) object).get("notBox").toString();
- }
- String trigger1 = ((LinkedHashMap) object).get("trigger1").toString();
- String operatorBox = ((LinkedHashMap) object).get("operatorBox").toString();
- String trigger2 = ((LinkedHashMap) object).get("trigger2").toString();
- connectBody = notBox + "@!" + trigger1 + "@!" + operatorBox + "@!" + trigger2 + "#!";
- }
- signatureBody = signatureBody + connectBody;
- }
- triggerBody = triggerBody + signatureBody + "?!";
- }
-
- return triggerBody;
- }
-
- private String convertDate(String dateTTL) {
- String formateDate = null;
- String[] date = dateTTL.split("T");
- String[] parts = date[0].split("-");
-
- formateDate = parts[2] + "-" + parts[1] + "-" + parts[0];
- return formateDate;
- }
-
- private String callTrap(String trap, Object object) {
- String signatureBody = "";
- TrapDatas trapDatas = (TrapDatas) object;
- ArrayList<Object> attributeList = new ArrayList<>();
- // Read the Trap
- if(!trap.equals("nill")){
- try{
- if(trap.startsWith("Trap")){
- if(trap.equals("Trap1")){
- attributeList = trapDatas.getTrap1();
- }else if(trap.equals("Trap2")){
- attributeList = trapDatas.getTrap2();
- }else if(trap.equals("Trap3")){
- attributeList = trapDatas.getTrap3();
- }else if(trap.equals("Trap4")){
- attributeList = trapDatas.getTrap4();
- }else if(trap.equals("Trap5")){
- attributeList = trapDatas.getTrap5();
- }else if(trap.equals("Trap6")){
- attributeList = trapDatas.getTrap6();
- }
- }else{
- if(trap.equals("Fault")){
- if(trap.equals("Fault1")){
- attributeList = trapDatas.getTrap1();
- }else if(trap.equals("Fault2")){
- attributeList = trapDatas.getTrap2();
- }else if(trap.equals("Fault3")){
- attributeList = trapDatas.getTrap3();
- }else if(trap.equals("Fault4")){
- attributeList = trapDatas.getTrap4();
- }else if(trap.equals("Fault5")){
- attributeList = trapDatas.getTrap5();
- }else if(trap.equals("Fault6")){
- attributeList = trapDatas.getTrap6();
- }
- }
- }
- } catch(Exception e){
- return "(" + trap + ")";
- }
- }else{
- if(trapDatas.getTrap1()!=null){
- attributeList = trapDatas.getTrap1();
- }else{
- return "";
- }
- }
- signatureBody = signatureBody + "(" + readAttributes(attributeList, attributeList.size()-1) + ")";
- return signatureBody;
- }
-
- private String readAttributes(ArrayList<Object> object, int index) {
- String attributes = "";
- Map<String, String> trapSignatures = (Map<String, String>) object.get(index);
- // Read the Elements.
- Object notBox = "";
- if(trapSignatures.keySet().contains("notBox")){
- notBox = trapSignatures.get("notBox");
- }
- if(notBox!=null){
- attributes = attributes + notBox.toString();
- }
- Object trapName1 = trapSignatures.get("trigger1");
- if(trapName1!=null){
- String attrib = trapName1.toString();
- if(attrib.startsWith("A")){
- try{
- int iy = Integer.parseInt(attrib.substring(1))-1;
- attributes = attributes + "(" + readAttributes(object, iy) + ")";
- }catch(NumberFormatException e){
- try {
- attrib = getVarbindOID(attrib);
- attributes = attributes + "("+ URLEncoder.encode(attrib, "UTF-8")+ ")";
- } catch (UnsupportedEncodingException e1) {
- //logger.error("Caused Exception while Encoding Varbind Dictionary Values"+e1);
- }
- }
- }else{
- try {
- attrib = getVarbindOID(attrib);
- attributes = attributes + "("+ URLEncoder.encode(attrib, "UTF-8")+ ")";
- } catch (UnsupportedEncodingException e) {
- //logger.error("Caused Exception while Encoding Varbind Dictionary Values"+e);
- }
- }
- }else{
- return "";
- }
- Object comboBox = trapSignatures.get("operatorBox");
- if(comboBox!=null){
- attributes = attributes + comboBox.toString();
- }else{
- return attributes;
- }
- Object trapName2 = trapSignatures.get("trigger2");
- if(trapName2!=null){
- String attrib = trapName2.toString();
- if(attrib.startsWith("A")){
- try{
- int iy = Integer.parseInt(attrib.substring(1))-1;
- attributes = attributes + "(" + readAttributes(object, iy) + ")";
- }catch(NumberFormatException e){
- try {
- attrib = getVarbindOID(attrib);
- attributes = attributes + "("+ URLEncoder.encode(attrib, "UTF-8") + ")";
- } catch (UnsupportedEncodingException e1) {
- //logger.error("Caused Exception while Encoding Varbind Dictionary Values"+e1);
- }
- }
- }else{
- try {
- attrib = getVarbindOID(attrib);
- attributes = attributes + "("+ URLEncoder.encode(attrib, "UTF-8") + ")";
- } catch (UnsupportedEncodingException e) {
- //logger.error("Caused Exception while Encoding Varbind Dictionary Values"+e);
- }
- }
- }
- return attributes;
- }
-
- private String getVarbindOID(String attrib) {
- VarbindDictionary varbindId = varbindDictionaryDao.getVarbindEntityByName(attrib).get(0);
- return varbindId.getVarbindOID();
- }
-
- private String connectTriggerSignature(int index, ArrayList<Object> triggerSignatures, Object object) {
- String resultBody = "";
- Map<String, String> connectTraps = (Map<String, String>) triggerSignatures.get(index);
- try{
- String notBox = "";
- if(connectTraps.keySet().contains("notBox")){
- notBox = connectTraps.get("notBox");
- }
- resultBody = resultBody + "(" + notBox;
- }catch(NullPointerException e){
- resultBody = resultBody + "(";
- }
- String connectTrap1 = connectTraps.get("connectTrap1");
- if(connectTrap1.startsWith("Trap") || connectTrap1.startsWith("Fault")){
- String trapBody = callTrap(connectTrap1, object);
- if(trapBody!=null){
- resultBody = resultBody + trapBody;
- }
- }else if(connectTrap1.startsWith("C")){
- for(int i=0; i<= triggerSignatures.size(); i++){
- Map<String,String> triggerSignature = (Map<String, String>) triggerSignatures.get(i);
- if(triggerSignature.get("id").equals(connectTrap1)){
- resultBody = resultBody + "(";
- String connectBody = connectTriggerSignature(i, triggerSignatures, object);
- resultBody = resultBody + connectBody + ")";
- }else{
- i++;
- }
- }
- }
- try{
- String trapCount1 = connectTraps.get("trapCount1");
- resultBody = resultBody + ", Time = " + trapCount1 + ")";
- }catch(NullPointerException e){
- }
- try{
- String operatorBox = connectTraps.get("operatorBox");
- resultBody = resultBody + operatorBox +"(";
- }catch (NullPointerException e){
- }
- try{
- String connectTrap2 = connectTraps.get("connectTrap2");
- if(connectTrap2.startsWith("Trap") || connectTrap2.startsWith("Fault")){
- String trapBody = callTrap(connectTrap2, object);
- if(trapBody!=null){
- resultBody = resultBody + trapBody;
- }
- }else if(connectTrap2.startsWith("C")){
- for(int i=0; i<= triggerSignatures.size(); i++){
- Map<String,String> triggerSignature = (Map<String, String>) triggerSignatures.get(i);
- if(triggerSignature.get("id").equals(connectTrap2)){
- resultBody = resultBody + "(";
- String connectBody = connectTriggerSignature(i, triggerSignatures, object);
- resultBody = resultBody + connectBody + ")";
- }else{
- i++;
- }
- }
- }
- }catch(NullPointerException e){
- }
- try{
- String trapCount2 = connectTraps.get("trapCount2");
- resultBody = resultBody + ", Time = " + trapCount2 + ")";
- }catch(NullPointerException e){
- }
- return resultBody;
- }
-
- public void PrePopulateClosedLoopFaultPolicyData(PolicyAdapter policyAdapter) {
- if (policyAdapter.getPolicyData() instanceof PolicyType) {
- Object policyData = policyAdapter.getPolicyData();
- PolicyType policy = (PolicyType) policyData;
- policyAdapter.setOldPolicyFileName(policyAdapter.getPolicyName());
- String policyNameValue = policyAdapter.getPolicyName().substring(policyAdapter.getPolicyName().indexOf("Fault_") +6 , policyAdapter.getPolicyName().lastIndexOf("."));
- policyAdapter.setPolicyName(policyNameValue);
- String description = "";
- try{
- description = policy.getDescription().substring(0, policy.getDescription().indexOf("@CreatedBy:"));
- }catch(Exception e){
- description = policy.getDescription();
- }
- policyAdapter.setPolicyDescription(description);
- // Get the target data under policy.
- TargetType target = policy.getTarget();
- if (target != null) {
- // Under target we have AnyOFType
- List<AnyOfType> anyOfList = target.getAnyOf();
- if (anyOfList != null) {
- Iterator<AnyOfType> iterAnyOf = anyOfList.iterator();
- while (iterAnyOf.hasNext()) {
- AnyOfType anyOf = iterAnyOf.next();
- // Under AnyOFType we have AllOFType
- List<AllOfType> allOfList = anyOf.getAllOf();
- if (allOfList != null) {
- Iterator<AllOfType> iterAllOf = allOfList.iterator();
- int index = 0;
- while (iterAllOf.hasNext()) {
- AllOfType allOf = iterAllOf.next();
- // Under AllOFType we have Match
- List<MatchType> matchList = allOf.getMatch();
- if (matchList != null) {
- Iterator<MatchType> iterMatch = matchList.iterator();
- while (iterMatch.hasNext()) {
- MatchType match = iterMatch.next();
- //
- // Under the match we have attributevalue and
- // attributeDesignator. So,finally down to the actual attribute.
- //
- AttributeValueType attributeValue = match.getAttributeValue();
- String value = (String) attributeValue.getContent().get(0);
-
- // First match in the target is EcompName, so set that value.
- if (index == 1) {
- policyAdapter.setEcompName(value);
- EcompName ecompName = new EcompName();
- ecompName.setEcompName(value);
- policyAdapter.setEcompNameField(ecompName);
- }
- if (index == 2){
- policyAdapter.setRiskType(value);
- }
-
- if (index == 3){
- policyAdapter.setRiskLevel(value);
- }
-
- if (index == 4){
- policyAdapter.setGuard(value);
- }
- if (index == 5 && !value.contains("NA")){
- String newDate = convertDate(value, true);
- policyAdapter.setTtlDate(newDate);
- }
- index++;
- }
- }
- }
- }
- }
- }
- }
- String jsonBodyName = policyAdapter.getDirPath().replace(File.separator, ".")+ "." + policyAdapter.getOldPolicyFileName() + ".";
- policyAdapter.setConfigBodyPath(jsonBodyName);
- readClosedLoopJSONFile(policyAdapter);
- }
-
- }
-
- private String convertDate(String dateTTL, boolean portalType) {
- String formateDate = null;
- String[] date;
- String[] parts;
-
- if (portalType){
- parts = dateTTL.split("-");
- formateDate = parts[2] + "-" + parts[1] + "-" + parts[0] + "T05:00:00.000Z";
- } else {
- date = dateTTL.split("T");
- parts = date[0].split("-");
- formateDate = parts[2] + "-" + parts[1] + "-" + parts[0];
- }
- return formateDate;
- }
-
- private String readClosedLoopJSONFile(PolicyAdapter policyAdapter) {
- String fileLocation = null;
- String fileName = policyAdapter.getConfigBodyPath();
- if (fileName != null ) {
- fileLocation = PolicyController.getConfigHome();
- }
- if (fileLocation == null) {
- return fileLocation;
- }
- File dir = new File(fileLocation);
- File[] listOfFiles = dir.listFiles();
- for (File file : listOfFiles) {
- if (file.isFile() && file.getName().contains(fileName)) {
- FileInputStream inputStream = null;
- String location = file.toString();
- try {
- inputStream = new FileInputStream(location);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- if (location.endsWith("json")) {
- JsonReader jsonReader = null;
- jsonReader = Json.createReader(inputStream);
- ObjectMapper mapper = new ObjectMapper();
- try {
- ClosedLoopFaultBody closedLoopBody = mapper.readValue(jsonReader.read().toString(), ClosedLoopFaultBody.class);
- if(closedLoopBody.getClosedLoopPolicyStatus().equalsIgnoreCase("ACTIVE")){
- closedLoopBody.setClosedLoopPolicyStatus("Active");
- }else{
- closedLoopBody.setClosedLoopPolicyStatus("InActive");
- }
- policyAdapter.setJsonBodyData(closedLoopBody);
- if(closedLoopBody.getTrapMaxAgeUsedForUI() != null){
- policyAdapter.setTrapMaxAge(closedLoopBody.getTrapMaxAgeUsedForUI().toString());
- }
- if(closedLoopBody.getTriggerTimeWindowUsedForUI() != null){
- policyAdapter.setClearTimeOut(closedLoopBody.getTriggerTimeWindowUsedForUI().toString());
- }
- if(closedLoopBody.getVerfificationTimeWindowUsedForUI() != null){
- policyAdapter.setVerificationclearTimeOut(closedLoopBody.getVerfificationTimeWindowUsedForUI().toString());
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- jsonReader.close();
- }
- }
- }
- return null;
- }
-
-}
-
-class ClosedLoopGridJSONData{
-
- private String clearTimeOut;
- private String trapMaxAge;
- private String verificationclearTimeOut;
- private ArrayList<Object> connecttriggerSignatures;
- private ArrayList<Object> connectVerificationSignatures;
-
- public String getClearTimeOut() {
- return clearTimeOut;
- }
- public void setClearTimeOut(String clearTimeOut) {
- this.clearTimeOut = clearTimeOut;
- }
- public String getTrapMaxAge() {
- return trapMaxAge;
- }
- public void setTrapMaxAge(String trapMaxAge) {
- this.trapMaxAge = trapMaxAge;
- }
- public String getVerificationclearTimeOut() {
- return verificationclearTimeOut;
- }
- public void setVerificationclearTimeOut(String verificationclearTimeOut) {
- this.verificationclearTimeOut = verificationclearTimeOut;
- }
-
-
- public ArrayList<Object> getConnecttriggerSignatures() {
- return connecttriggerSignatures;
- }
- public void setConnecttriggerSignatures(ArrayList<Object> connecttriggerSignatures) {
- this.connecttriggerSignatures = connecttriggerSignatures;
- }
- public ArrayList<Object> getConnectVerificationSignatures() {
- return connectVerificationSignatures;
- }
- public void setConnectVerificationSignatures(ArrayList<Object> connectVerificationSignatures) {
- this.connectVerificationSignatures = connectVerificationSignatures;
- }
-}
-
-class TrapDatas{
- private ArrayList<Object> trap1;
- private ArrayList<Object> trap2;
- private ArrayList<Object> trap3;
- private ArrayList<Object> trap4;
- private ArrayList<Object> trap5;
- private ArrayList<Object> trap6;
- public ArrayList<Object> getTrap1() {
- return trap1;
- }
- public void setTrap1(ArrayList<Object> trap1) {
- this.trap1 = trap1;
- }
- public ArrayList<Object> getTrap2() {
- return trap2;
- }
- public void setTrap2(ArrayList<Object> trap2) {
- this.trap2 = trap2;
- }
- public ArrayList<Object> getTrap3() {
- return trap3;
- }
- public void setTrap3(ArrayList<Object> trap3) {
- this.trap3 = trap3;
- }
- public ArrayList<Object> getTrap4() {
- return trap4;
- }
- public void setTrap4(ArrayList<Object> trap4) {
- this.trap4 = trap4;
- }
- public ArrayList<Object> getTrap5() {
- return trap5;
- }
- public void setTrap5(ArrayList<Object> trap5) {
- this.trap5 = trap5;
- }
- public ArrayList<Object> getTrap6() {
- return trap6;
- }
- public void setTrap6(ArrayList<Object> trap6) {
- this.trap6 = trap6;
- }
-} \ No newline at end of file
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateClosedLoopPMController.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateClosedLoopPMController.java
deleted file mode 100644
index f5e0557f8..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateClosedLoopPMController.java
+++ /dev/null
@@ -1,422 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.controller;
-
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.text.DateFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-
-import javax.json.Json;
-import javax.json.JsonReader;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.json.JSONObject;
-import org.openecomp.policy.adapter.ClosedLoopPMBody;
-import org.openecomp.policy.adapter.PolicyAdapter;
-import org.openecomp.policy.admin.PolicyNotificationMail;
-import org.openecomp.policy.admin.RESTfulPAPEngine;
-import org.openecomp.policy.dao.PolicyVersionDao;
-import org.openecomp.policy.dao.RuleAlgorithmsDao;
-import org.openecomp.policy.dao.WatchPolicyNotificationDao;
-import org.openecomp.policy.elk.client.PolicyElasticSearchController;
-import org.openecomp.policy.rest.jpa.PolicyVersion;
-import org.openecomp.policy.rest.jpa.RuleAlgorithms;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
-import org.openecomp.portalsdk.core.web.support.UserUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-import com.att.research.xacml.api.XACML3;
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import org.openecomp.policy.xacml.util.XACMLPolicyScanner;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.base.Joiner;
-
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType;
-
-@Controller
-@RequestMapping("/")
-public class CreateClosedLoopPMController extends RestrictedBaseController{
-
- private static RuleAlgorithmsDao ruleAlgorithmsDao;
- private static PolicyVersionDao policyVersionDao;
- private static WatchPolicyNotificationDao policyNotificationDao;
-
- @Autowired
- private CreateClosedLoopPMController(RuleAlgorithmsDao ruleAlgorithmsDao, PolicyVersionDao policyVersionDao, WatchPolicyNotificationDao policyNotificationDao){
- CreateClosedLoopPMController.policyVersionDao = policyVersionDao;
- CreateClosedLoopPMController.ruleAlgorithmsDao = ruleAlgorithmsDao;
- CreateClosedLoopPMController.policyNotificationDao = policyNotificationDao;
- }
-
- public CreateClosedLoopPMController(){}
-
- protected PolicyAdapter policyAdapter = null;
- private String ruleID = "";
-
- public String newPolicyID() {
- return Joiner.on(':').skipNulls().join((PolicyController.getDomain().startsWith("urn") ? null: "urn"),
- PolicyController.getDomain().replaceAll("[/\\\\.]", ":"), "xacml", "policy", "id", UUID.randomUUID());
- }
-
- @RequestMapping(value={"/policyController/save_PMPolicy.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView savePMPolicy(HttpServletRequest request, HttpServletResponse response) throws Exception{
- try {
- String userId = UserUtils.getUserIdFromCookie(request);
- RESTfulPAPEngine engine = (RESTfulPAPEngine) PolicyController.getPapEngine();
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- PolicyAdapter policyData = (PolicyAdapter)mapper.readValue(root.get("policyData").get("policy").toString(), PolicyAdapter.class);
-
- if(root.get("policyData").get("model").get("type").toString().replace("\"", "").equals("file")){
- policyData.isEditPolicy = true;
- }
- if(root.get("policyData").get("model").get("path").size() != 0){
- String dirName = "";
- for(int i = 0; i < root.get("policyData").get("model").get("path").size(); i++){
- dirName = dirName.replace("\"", "") + root.get("policyData").get("model").get("path").get(i).toString().replace("\"", "") + File.separator;
- }
- policyData.setDomainDir(dirName.substring(0, dirName.lastIndexOf(File.separator)));
- }else{
- policyData.setDomainDir(root.get("policyData").get("model").get("name").toString().replace("\"", ""));
- }
-
- if (policyData.getTtlDate()==null){
- policyData.setTtlDate("NA");
- }else{
- String dateTTL = policyData.getTtlDate();
- String newDate = convertDate(dateTTL);
- policyData.setTtlDate(newDate);
- }
-
- int version = 0;
- int highestVersion = 0;
- int descriptionVersion = 0;
- //get the highest version of policy from policy version table.
- //getting the sub scope domain where the policy is created or updated
- String dbCheckPolicyName = policyData.getDomainDir() + File.separator + "Config_PM_" + policyData.getPolicyName();
- List<PolicyVersion> policyVersionList = policyVersionDao.getPolicyVersionEntityByName(dbCheckPolicyName);
- if (policyVersionList.size() > 0) {
- for(int i = 0; i < policyVersionList.size(); i++) {
- PolicyVersion entityItem = policyVersionList.get(i);
- if(entityItem.getPolicyName().equals(dbCheckPolicyName)){
- highestVersion = entityItem.getHigherVersion();
- }
- }
- }
- if(highestVersion != 0){
- version = highestVersion;
- descriptionVersion = highestVersion +1;
- }else{
- version = 1;
- descriptionVersion = 1;
- }
-
- //set policy adapter values for Building JSON object containing policy data
- String createdBy = "";
- String modifiedBy = userId;
- if(descriptionVersion == 1){
- createdBy = userId;
- }else{
- String policyName = PolicyController.getGitPath().toAbsolutePath().toString() + File.separator + policyData.getDomainDir() + File.separator + policyData.getOldPolicyFileName() + ".xml";
- File policyPath = new File(policyName);
- try {
- createdBy = XACMLPolicyScanner.getCreatedBy(policyPath.toPath());
- } catch (IOException e) {
- createdBy = "guest";
- }
- }
-
- policyData.setPolicyDescription(policyData.getPolicyDescription()+ "@CreatedBy:" +createdBy + "@CreatedBy:" + "@ModifiedBy:" +modifiedBy + "@ModifiedBy:");
-
-
- if(policyData.getServiceTypePolicyName() != null){
- policyData.setServiceType(policyData.getServiceTypePolicyName().get("serviceTypePolicyName").toString());
- }
-
- ObjectMapper jsonMapper = new ObjectMapper();
- String jsonBody = jsonMapper.writeValueAsString(policyData.getJsonBodyData());
- jsonBody = jsonBody.replaceFirst("\\{", "\\{\"serviceTypePolicyName\": \"serviceTypeFieldValue\",");
- jsonBody = jsonBody.replace("serviceTypeFieldValue", policyData.getServiceType());
- policyData.setJsonBody(jsonBody);
-
- Map<String, String> successMap = new HashMap<String, String>();
-
- //set the Rule Combining Algorithm Id to be sent to PAP-REST via JSON
- List<RuleAlgorithms> ruleAlgorithmsList = ruleAlgorithmsDao.getRuleAlgorithms();
- for (int i = 0; i < ruleAlgorithmsList.size(); i++) {
- RuleAlgorithms a = ruleAlgorithmsList.get(i);
- if (a.getXacmlId().equals(XACML3.ID_RULE_PERMIT_OVERRIDES.stringValue())) {
- policyData.setRuleCombiningAlgId(a.getXacmlId());
- break;
- }
- }
-
- if (policyData.isEditPolicy()){
- //increment the version and set in policyAdapter
- policyData.setVersion(String.valueOf(version));
- policyData.setHighestVersion(version);
- policyData.setPolicyID(this.newPolicyID());
- policyData.setRuleID(ruleID);
- successMap = engine.updatePolicyRequest(policyData);
- } else {
- //send it for policy creation
- policyData.setVersion(String.valueOf(version));
- policyData.setHighestVersion(version);
- successMap = engine.createPolicyRequest(policyData);
-
- }
-
- if (successMap.containsKey("success")) {
- // Add it into our tree
- Path finalPolicyPath = null;
- finalPolicyPath = Paths.get(successMap.get("success"));
- PolicyElasticSearchController controller = new PolicyElasticSearchController();
- controller.updateElk(finalPolicyPath.toString());
- File file = finalPolicyPath.toFile();
- if(file != null){
- String policyName = file.toString();
- String removePath = policyName.substring(policyName.indexOf("repository")+11);
- String removeXml = removePath.replace(".xml", "");
- String removeExtension = removeXml.substring(0, removeXml.indexOf("."));
- List<PolicyVersion> versionList = policyVersionDao.getPolicyVersionEntityByName(removeExtension);
- if (versionList.size() > 0) {
- for(int i = 0; i < versionList.size(); i++) {
- PolicyVersion entityItem = versionList.get(i);
- if(entityItem.getPolicyName().equals(removeExtension)){
- version = entityItem.getHigherVersion() +1;
- entityItem.setActiveVersion(version);
- entityItem.setHigherVersion(version);
- entityItem.setModifiedBy(userId);
- policyVersionDao.update(entityItem);
- if(policyData.isEditPolicy){
- PolicyNotificationMail email = new PolicyNotificationMail();
- String mode = "EditPolicy";
- String policyNameForEmail = policyData.getDomainDir() + File.separator + policyData.getOldPolicyFileName() + ".xml";
- email.sendMail(entityItem, policyNameForEmail, mode, policyNotificationDao);
- }
- }
- }
- }else{
- PolicyVersion entityItem = new PolicyVersion();
- entityItem.setActiveVersion(version);
- entityItem.setHigherVersion(version);
- entityItem.setPolicyName(removeExtension);
- entityItem.setCreatedBy(userId);
- entityItem.setModifiedBy(userId);
- policyVersionDao.Save(entityItem);
- }
- }
- }
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
- String responseString = mapper.writeValueAsString(successMap);
- JSONObject j = new JSONObject("{policyData: " + responseString + "}");
- out.write(j.toString());
- return null;
- }
- catch (Exception e){
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
- out.write(e.getMessage());
- }
- return null;
- }
-
- private String convertDate(String dateTTL) {
- String formateDate = null;
- String[] date = dateTTL.split("T");
- String[] parts = date[0].split("-");
-
- formateDate = parts[2] + "-" + parts[1] + "-" + parts[0];
- return formateDate;
- }
-
- public void PrePopulateClosedLoopPMPolicyData(PolicyAdapter policyAdapter) {
- if (policyAdapter.getPolicyData() instanceof PolicyType) {
- Object policyData = policyAdapter.getPolicyData();
- PolicyType policy = (PolicyType) policyData;
- policyAdapter.setOldPolicyFileName(policyAdapter.getPolicyName());
- String policyNameValue = policyAdapter.getPolicyName().substring(policyAdapter.getPolicyName().indexOf("PM_") +3 , policyAdapter.getPolicyName().lastIndexOf("."));
- policyAdapter.setPolicyName(policyNameValue);
- String description = "";
- try{
- description = policy.getDescription().substring(0, policy.getDescription().indexOf("@CreatedBy:"));
- }catch(Exception e){
- description = policy.getDescription();
- }
- policyAdapter.setPolicyDescription(description);
- // Get the target data under policy.
- TargetType target = policy.getTarget();
- if (target != null) {
- // Under target we have AnyOFType
- List<AnyOfType> anyOfList = target.getAnyOf();
- if (anyOfList != null) {
- Iterator<AnyOfType> iterAnyOf = anyOfList.iterator();
- while (iterAnyOf.hasNext()) {
- AnyOfType anyOf = iterAnyOf.next();
- // Under AnyOFType we have AllOFType
- List<AllOfType> allOfList = anyOf.getAllOf();
- if (allOfList != null) {
- Iterator<AllOfType> iterAllOf = allOfList.iterator();
- while (iterAllOf.hasNext()) {
- AllOfType allOf = iterAllOf.next();
- // Under AllOFType we have Match
- List<MatchType> matchList = allOf.getMatch();
- if (matchList != null) {
- int index = 0;
- Iterator<MatchType> iterMatch = matchList.iterator();
- while (matchList.size()>1 && iterMatch.hasNext()) {
- MatchType match = iterMatch.next();
- //
- // Under the match we have attributevalue and
- // attributeDesignator. So,finally down to the actual attribute.
- //
- AttributeValueType attributeValue = match.getAttributeValue();
- String value = (String) attributeValue.getContent().get(0);
-
- // First match in the target is EcompName, so set that value.
- if (index == 0) {
- policyAdapter.setEcompName(value);
- }
-
- if (index == 1){
- policyAdapter.setRiskType(value);
- }
-
- if (index == 2){
- policyAdapter.setRiskLevel(value);
- }
-
- if (index == 3){
- policyAdapter.setGuard(value);
- }
-
- if (index == 4 && !value.contains("NA")){
- String newDate = convertDate(value, true);
- policyAdapter.setTtlDate(newDate);
- }
- if (index == 5){
- LinkedHashMap<String, String> serviceTypePolicyName1 = new LinkedHashMap<>();
- String key = "serviceTypePolicyName";
- serviceTypePolicyName1.put(key, value);
- policyAdapter.setServiceTypePolicyName(serviceTypePolicyName1);
- }
- index++;
- }
- }
- }
- }
- }
- }
- }
- String jsonBodyName = policyAdapter.getDirPath().replace(File.separator, ".")+"."+ policyAdapter.getOldPolicyFileName() + ".";
- policyAdapter.setConfigBodyPath(jsonBodyName);
- readClosedLoopJSONFile(policyAdapter);
- }
- }
-
- private String convertDate(String dateTTL, boolean portalType) {
- String formateDate = null;
- String[] date;
- String[] parts;
-
- if (portalType){
- parts = dateTTL.split("-");
- formateDate = parts[2] + "-" + parts[1] + "-" + parts[0] + "T05:00:00.000Z";
- } else {
- date = dateTTL.split("T");
- parts = date[0].split("-");
- formateDate = parts[2] + "-" + parts[1] + "-" + parts[0];
- }
- return formateDate;
- }
-
- protected String readClosedLoopJSONFile(PolicyAdapter policyAdapter) {
- String fileLocation = null;
- String fileName = policyAdapter.getConfigBodyPath();
- if (fileName != null ) {
- fileLocation = PolicyController.getConfigHome();
- }
- if (fileLocation == null) {
- return fileLocation;
- }
-
- File dir = new File(fileLocation);
- File[] listOfFiles = dir.listFiles();
- for (File file : listOfFiles) {
- if (file.isFile() && file.getName().contains(fileName)) {
- FileInputStream inputStream = null;
- String location = file.toString();
- try {
- inputStream = new FileInputStream(location);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- if (location.endsWith("json")) {
- JsonReader jsonReader = null;
- jsonReader = Json.createReader(inputStream);
- ObjectMapper mapper = new ObjectMapper();
- try {
- ClosedLoopPMBody closedLoopBody = mapper.readValue(jsonReader.read().toString(), ClosedLoopPMBody.class);
- policyAdapter.setJsonBodyData(closedLoopBody);
- } catch (IOException e) {
- e.printStackTrace();
- /*logger.error("JSON Body Mapping Error");*/
- }
- jsonReader.close();
- }
- }
- }
- return null;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateDcaeMicroServiceController.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateDcaeMicroServiceController.java
deleted file mode 100644
index c4d4cfd50..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateDcaeMicroServiceController.java
+++ /dev/null
@@ -1,987 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.controller;
-
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import java.util.Map.Entry;
-import java.util.Properties;
-import java.util.TreeMap;
-
-import javax.json.Json;
-import javax.json.JsonReader;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.commons.lang.StringUtils;
-import org.json.JSONArray;
-import org.json.JSONObject;
-import org.openecomp.policy.adapter.PolicyAdapter;
-import org.openecomp.policy.admin.PolicyNotificationMail;
-import org.openecomp.policy.admin.RESTfulPAPEngine;
-import org.openecomp.policy.dao.PolicyVersionDao;
-import org.openecomp.policy.dao.RemoteCatalogValuesDao;
-import org.openecomp.policy.dao.RuleAlgorithmsDao;
-import org.openecomp.policy.dao.WatchPolicyNotificationDao;
-import org.openecomp.policy.elk.client.PolicyElasticSearchController;
-import org.openecomp.policy.rest.XACMLRestProperties;
-import org.openecomp.policy.rest.dao.GroupPolicyScopeListDao;
-import org.openecomp.policy.rest.dao.MicroServiceModelsDao;
-import org.openecomp.policy.rest.jpa.GroupPolicyScopeList;
-import org.openecomp.policy.rest.jpa.MicroServiceModels;
-import org.openecomp.policy.rest.jpa.PolicyVersion;
-import org.openecomp.policy.rest.jpa.RemoteCatalogValues;
-import org.openecomp.policy.rest.jpa.RuleAlgorithms;
-import org.openecomp.policy.utils.ConfigurableRESTUtils;
-import org.openecomp.policy.utils.ConfigurableRESTUtils.RESQUEST_METHOD;
-import org.openecomp.policy.utils.ConfigurableRESTUtils.REST_RESPONSE_FORMAT;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
-import org.openecomp.portalsdk.core.web.support.JsonMessage;
-import org.openecomp.portalsdk.core.web.support.UserUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-import com.att.research.xacml.api.XACML3;
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import org.openecomp.policy.xacml.util.XACMLPolicyScanner;
-import com.att.research.xacml.util.XACMLProperties;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.ObjectWriter;
-import com.fasterxml.jackson.databind.node.JsonNodeFactory;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.google.common.base.Joiner;
-import com.google.common.base.Splitter;
-import com.google.gson.Gson;
-import com.google.gson.JsonArray;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
-
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType;
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Controller
-@RequestMapping("/")
-public class CreateDcaeMicroServiceController extends RestrictedBaseController {
- private static final Logger logger = FlexLogger.getLogger(CreateDcaeMicroServiceController.class);
-
- private static RuleAlgorithmsDao ruleAlgorithmsDao;
- private static RemoteCatalogValuesDao remoteCatalogValuesDao;
- private static MicroServiceModelsDao microServiceModelsDao;
- private static PolicyVersionDao policyVersionDao;
- private static GroupPolicyScopeListDao groupPolicyScopeListDao;
- private static WatchPolicyNotificationDao policyNotificationDao;
-
- @Autowired
- private CreateDcaeMicroServiceController(RuleAlgorithmsDao ruleAlgorithmsDao, RemoteCatalogValuesDao remoteCatalogValuesDao,
- MicroServiceModelsDao microServiceModelsDao, PolicyVersionDao policyVersionDao, GroupPolicyScopeListDao groupPolicyScopeListDao,
- WatchPolicyNotificationDao policyNotificationDao){
- CreateDcaeMicroServiceController.groupPolicyScopeListDao = groupPolicyScopeListDao;
- CreateDcaeMicroServiceController.policyVersionDao = policyVersionDao;
- CreateDcaeMicroServiceController.microServiceModelsDao = microServiceModelsDao;
- CreateDcaeMicroServiceController.remoteCatalogValuesDao = remoteCatalogValuesDao;
- CreateDcaeMicroServiceController.ruleAlgorithmsDao = ruleAlgorithmsDao;
- CreateDcaeMicroServiceController.policyNotificationDao = policyNotificationDao;
- }
-
- public CreateDcaeMicroServiceController(){}
-
- protected PolicyAdapter policyAdapter = null;
- private String ruleID = "";
- private int priorityCount;
- private Map<String, String> attributesListRefMap = new HashMap<String, String>();
- private Map<String, LinkedList<String>> arrayTextList = new HashMap<String, LinkedList<String>>();
-
-
- public String newPolicyID() {
- return Joiner.on(':').skipNulls().join((PolicyController.getDomain().startsWith("urn") ? null: "urn"),
- PolicyController.getDomain().replaceAll("[/\\\\.]", ":"), "xacml", "policy", "id", UUID.randomUUID());
- }
-
-
- @RequestMapping(value={"/policyController/getDCAEMSTemplateData.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView getBRMSParamPolicyRuleData(HttpServletRequest request, HttpServletResponse response) throws Exception{
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
-
- String value = root.get("policyData").toString().replaceAll("^\"|\"$", "");
- String servicename = value.toString().split("-v")[0];
- String version = null;
- if (value.toString().contains("-v")){
- version = value.toString().split("-v")[1];
- }
- MicroServiceModels returnModel = getAttributeObject(servicename, version);
-
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
- List<Object> list = new ArrayList<>();
- PrintWriter out = response.getWriter();
- String responseString = mapper.writeValueAsString(returnModel);
- JSONObject j = new JSONObject("{dcaeModelData: " + responseString +"}");
- list.add(j);
- out.write(list.toString());
- return null;
- }
-
- private MicroServiceModels getAttributeObject(String name, String version) {
- MicroServiceModels workingModel = new MicroServiceModels();
- List<MicroServiceModels> microServiceModelsData = microServiceModelsDao.getMicroServiceModelsData();
- for (int i = 0; i < microServiceModelsData.size(); i++) {
- workingModel = microServiceModelsData.get(i);
- if (version!=null && workingModel.getVersion()!=null){
- if (workingModel.getModelName().equals(name) && workingModel.getVersion().equals(version)){
- break;
- }
- }else{
- if (workingModel.getModelName().equals(name) && workingModel.getVersion() == null){
- break;
- }
- }
- }
- return workingModel;
- }
-
- @RequestMapping(value={"/get_DCAEPriorityValues"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE)
- public void getDCAEPriorityValuesData(HttpServletRequest request, HttpServletResponse response){
- try{
- Map<String, Object> model = new HashMap<String, Object>();
- ObjectMapper mapper = new ObjectMapper();
- List<String> priorityList = new ArrayList<String>();
- priorityCount = 10;
- for (int i = 1; i < priorityCount; i++) {
- priorityList.add(String.valueOf(i));
- }
- model.put("priorityDatas", mapper.writeValueAsString(priorityList));
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(model));
- JSONObject j = new JSONObject(msg);
- response.getWriter().write(j.toString());
- }
- catch (Exception e){
- e.printStackTrace();
- }
- }
-
-
- @RequestMapping(value={"/policyController/save_DCAEMSPolicy.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView saveDCAEMSPolicy(HttpServletRequest request, HttpServletResponse response) throws Exception{
- try {
- String userId = UserUtils.getUserIdFromCookie(request);
- RESTfulPAPEngine engine = (RESTfulPAPEngine) PolicyController.getPapEngine();
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- String jsonContent = null;
- try{
- jsonContent = decodeContent(root.get("policyJSON")).toString();
- }catch(Exception e){
- logger.error("Error while decoding microservice content");
- }
- PolicyAdapter policyData = (PolicyAdapter)mapper.readValue(root.get("policyData").get("policy").toString(), PolicyAdapter.class);
- policyData.setDomainDir(root.get("policyData").get("model").get("name").toString().replace("\"", ""));
- if(root.get("policyData").get("model").get("type").toString().replace("\"", "").equals("file")){
- policyData.isEditPolicy = true;
- }
-
- if(root.get("policyData").get("model").get("path").size() != 0){
- String dirName = "";
- for(int i = 0; i < root.get("policyData").get("model").get("path").size(); i++){
- dirName = dirName.replace("\"", "") + root.get("policyData").get("model").get("path").get(i).toString().replace("\"", "") + File.separator;
- }
- if(policyData.isEditPolicy){
- policyData.setDomainDir(dirName.substring(0, dirName.lastIndexOf(File.separator)));
- }else{
- policyData.setDomainDir(dirName + root.get("policyData").get("model").get("name").toString().replace("\"", ""));
- }
- }else{
- policyData.setDomainDir(root.get("policyData").get("model").get("name").toString().replace("\"", ""));
- }
-
- if (policyData.getTtlDate()==null){
- policyData.setTtlDate("NA");
- }else{
- String dateTTL = policyData.getTtlDate();
- String newDate = convertDate(dateTTL);
- policyData.setTtlDate(newDate);
- }
-
- int version = 0;
- int highestVersion = 0;
- int descriptionVersion = 0;
- //get the highest version of policy from policy version table.
- //getting the sub scope domain where the policy is created or updated
- String dbCheckPolicyName = policyData.getDomainDir() + File.separator + "Config_MS_" + policyData.getPolicyName();
- List<PolicyVersion> versionList = policyVersionDao.getPolicyVersionEntityByName(dbCheckPolicyName);
- if (versionList.size() > 0) {
- for(int i = 0; i < versionList.size(); i++) {
- PolicyVersion entityItem = versionList.get(i);
- if(entityItem.getPolicyName().equals(dbCheckPolicyName)){
- highestVersion = entityItem.getHigherVersion();
- }
- }
- }
- if(highestVersion != 0){
- version = highestVersion;
- descriptionVersion = highestVersion +1;
- }else{
- version = 1;
- descriptionVersion = 1;
- }
-
- //set policy adapter values for Building JSON object containing policy data
- String createdBy = "";
- String modifiedBy = userId;
- if(descriptionVersion == 1){
- createdBy = userId;
- }else{
- String policyName = PolicyController.getGitPath().toAbsolutePath().toString() + File.separator + policyData.getDomainDir() + File.separator + policyData.getOldPolicyFileName() + ".xml";
- File policyPath = new File(policyName);
- try {
- createdBy = XACMLPolicyScanner.getCreatedBy(policyPath.toPath());
- } catch (IOException e) {
- createdBy = "guest";
- }
- }
-
- policyData.setPolicyDescription(policyData.getPolicyDescription()+ "@CreatedBy:" +createdBy + "@CreatedBy:" + "@ModifiedBy:" +modifiedBy + "@ModifiedBy:");
- policyData.setEcompName(policyData.getEcompName());
- //get the jsonBody
- String jsonBody = null;
- try {
- jsonBody = constructJson(policyData, jsonContent);
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
- }
- policyData.setJsonBody(jsonBody);
- Map<String, String> successMap = new HashMap<String, String>();
- //set the Rule Combining Algorithm Id to be sent to PAP-REST via JSON
- List<RuleAlgorithms> ruleAlgorithmsList = ruleAlgorithmsDao.getRuleAlgorithms();
- for (int i = 0; i < ruleAlgorithmsList.size(); i++) {
- RuleAlgorithms a = ruleAlgorithmsList.get(i);
- if (a.getXacmlId().equals(XACML3.ID_RULE_PERMIT_OVERRIDES.stringValue())) {
- policyData.setRuleCombiningAlgId(a.getXacmlId());
- break;
- }
- }
- if (policyData.isEditPolicy()){
- //increment the version and set in policyAdapter
- policyData.setVersion(String.valueOf(version));
- policyData.setHighestVersion(version);
- policyData.setPolicyID(this.newPolicyID());
- policyData.setRuleID(ruleID);
- successMap = engine.updatePolicyRequest(policyData);
- } else {
- //send it for policy creation
- policyData.setVersion(String.valueOf(version));
- policyData.setHighestVersion(version);
- successMap = engine.createPolicyRequest(policyData);
-
- }
-
- if (successMap.containsKey("success")) {
- // Add it into our tree
- Path finalPolicyPath = null;
- finalPolicyPath = Paths.get(successMap.get("success"));
- PolicyElasticSearchController controller = new PolicyElasticSearchController();
- controller.updateElk(finalPolicyPath.toString());
- File file = finalPolicyPath.toFile();
- if(file != null){
- String policyName = file.toString();
- String removePath = policyName.substring(policyName.indexOf("repository")+11);
- String removeXml = removePath.replace(".xml", "");
- String removeExtension = removeXml.substring(0, removeXml.indexOf("."));
- List<PolicyVersion> policyVersionList = policyVersionDao.getPolicyVersionEntityByName(removeExtension);
- if (policyVersionList.size() > 0) {
- for(int i = 0; i < policyVersionList.size(); i++) {
- PolicyVersion entityItem = policyVersionList.get(i);
- if(entityItem.getPolicyName().equals(removeExtension)){
- version = entityItem.getHigherVersion() +1;
- entityItem.setActiveVersion(version);
- entityItem.setHigherVersion(version);
- entityItem.setModifiedBy(userId);
- policyVersionDao.update(entityItem);
- if(policyData.isEditPolicy){
- PolicyNotificationMail email = new PolicyNotificationMail();
- String mode = "EditPolicy";
- String policyNameForEmail = policyData.getDomainDir() + File.separator + policyData.getOldPolicyFileName() + ".xml";
- email.sendMail(entityItem, policyNameForEmail, mode, policyNotificationDao);
- }
- }
- }
- }else{
- PolicyVersion entityItem = new PolicyVersion();
- entityItem.setActiveVersion(version);
- entityItem.setHigherVersion(version);
- entityItem.setPolicyName(removeExtension);
- entityItem.setCreatedBy(userId);
- entityItem.setModifiedBy(userId);
- policyVersionDao.Save(entityItem);
- }
- }
- }
-
- System.out.println(root);
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
- String responseString = mapper.writeValueAsString(successMap);
- JSONObject j = new JSONObject("{policyData: " + responseString + "}");
- out.write(j.toString());
- return null;
- }
- catch (Exception e){
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
- out.write(e.getMessage());
- }
- return null;
- }
-
- private JSONObject decodeContent(JsonNode jsonNode){
- Iterator<JsonNode> jsonElements = jsonNode.elements();
- Iterator<String> jsonKeys = jsonNode.fieldNames();
- Map<String,String> element = new TreeMap<String,String>();
- while(jsonElements.hasNext() && jsonKeys.hasNext()){
- element.put(jsonKeys.next(), jsonElements.next().toString());
- }
- JSONObject jsonResult = new JSONObject();
- JSONArray jsonArray = null;
- String oldValue = null;
- String nodeKey = null;
- String arryKey = null;
- Boolean isArray = false;
- JsonNodeFactory nodeFactory = JsonNodeFactory.instance;
- ObjectNode node = nodeFactory.objectNode();
- String prevKey = null;
- String presKey = null;
- for(String key: element.keySet()){
- if(key.contains(".")){
- presKey = key.substring(0,key.indexOf("."));
- }else if(key.contains("@")){
- presKey = key.substring(0,key.indexOf("@"));
- }else{
- presKey = key;
- }
- // first check if we are different from old.
- System.out.println(key+"\n");
- if(jsonArray!=null && jsonArray.length()>0 && key.contains("@") && !key.contains(".") && oldValue!=null){
- if(!oldValue.equals(key.substring(0,key.indexOf("@")))){
- jsonResult.put(oldValue, jsonArray);
- jsonArray = new JSONArray();
- }
- }else if(jsonArray!=null && jsonArray.length()>0 && !presKey.equals(prevKey) && oldValue!=null){
- jsonResult.put(oldValue, jsonArray);
- isArray = false;
- jsonArray = new JSONArray();
- }
- /*if(node.size()!=0 && key.contains("@")){
-
- }else{
- if(node.size()!=0){
-
- }
- }*/
- prevKey = presKey;
- //
- if(key.contains(".")){
- if(nodeKey==null){
- nodeKey = key.substring(0,key.indexOf("."));
- }
- if(nodeKey.equals(key.substring(0,key.indexOf(".")))){
- node.put(key.substring(key.indexOf(".")+1), element.get(key));
- }else{
- if(node.size()!=0){
- if(nodeKey.contains("@")){
- if(arryKey==null){
- arryKey = nodeKey.substring(0,nodeKey.indexOf("@"));
- }
- if(nodeKey.endsWith("@0")){
- isArray = true;
- jsonArray = new JSONArray();
- }
- if(arryKey.equals(nodeKey.substring(0,nodeKey.indexOf("@")))){
- jsonArray.put(decodeContent(node));
- }
- if(key.contains("@") && !arryKey.equals(key.substring(0,nodeKey.indexOf("@")))){
- jsonResult.put(arryKey, jsonArray);
- jsonArray = new JSONArray();
- }else if(!key.contains("@")){
- jsonResult.put(arryKey, jsonArray);
- jsonArray = new JSONArray();
- }
- arryKey = nodeKey.substring(0,nodeKey.indexOf("@"));
- }else{
- isArray = false;
- jsonResult.put(nodeKey, decodeContent(node));
- }
- node = nodeFactory.objectNode();
- }
- nodeKey = key.substring(0,key.indexOf("."));
- if(nodeKey.contains("@")){
- arryKey = nodeKey.substring(0,nodeKey.indexOf("@"));
- }
- node.put(key.substring(key.indexOf(".")+1), element.get(key));
- }
- }else if(node.size()!=0){
- if(nodeKey.contains("@")){
- if(arryKey==null){
- arryKey = nodeKey.substring(0,nodeKey.indexOf("@"));
- }
- if(nodeKey.endsWith("@0")){
- isArray = true;
- jsonArray = new JSONArray();
- }
- if(arryKey.equals(nodeKey.substring(0,nodeKey.indexOf("@")))){
- jsonArray.put(decodeContent(node));
- }
- jsonResult.put(arryKey, jsonArray);
- jsonArray = new JSONArray();
- arryKey = nodeKey.substring(0,nodeKey.indexOf("@"));
- }else{
- isArray = false;
- jsonResult.put(nodeKey, decodeContent(node));
- }
- node = nodeFactory.objectNode();
- if(key.contains("@")){
- isArray = true;
- if(key.endsWith("@0")|| jsonArray==null){
- jsonArray = new JSONArray();
- }
- }else if(!key.contains("@")){
- isArray = false;
- }
- if(isArray){
- if(oldValue==null){
- oldValue = key.substring(0,key.indexOf("@"));
- }
- if(oldValue!=prevKey){
- oldValue = key.substring(0,key.indexOf("@"));
- }
- if(oldValue.equals(key.substring(0,key.indexOf("@")))){
- jsonArray.put(element.get(key));
- }else{
- jsonResult.put(oldValue, jsonArray);
- jsonArray = new JSONArray();
- }
- oldValue = key.substring(0,key.indexOf("@"));
- }else{
- jsonResult.put(key, element.get(key));
- }
- }else{
- if(key.contains("@")){
- isArray = true;
- if(key.endsWith("@0")|| jsonArray==null){
- jsonArray = new JSONArray();
- }
- }else if(!key.contains("@")){
- isArray = false;
- }
- if(isArray){
- if(oldValue==null){
- oldValue = key.substring(0,key.indexOf("@"));
- }
- if(oldValue!=prevKey){
- oldValue = key.substring(0,key.indexOf("@"));
- }
- if(oldValue.equals(key.substring(0,key.indexOf("@")))){
- jsonArray.put(element.get(key));
- }else{
- jsonResult.put(oldValue, jsonArray);
- jsonArray = new JSONArray();
- }
- oldValue = key.substring(0,key.indexOf("@"));
- }else{
- jsonResult.put(key, element.get(key));
- }
- }
- }
- if(node.size()>0){
- if(nodeKey.contains("@")){
- if(jsonArray==null){
- jsonArray = new JSONArray();
- }
- if(arryKey==null){
- arryKey = nodeKey.substring(0,nodeKey.indexOf("@"));
- }
- jsonArray.put(decodeContent(node));
- jsonResult.put(arryKey, jsonArray);
- isArray = false;;
- }else{
- jsonResult.put(nodeKey, decodeContent(node));
- }
- }
- if(isArray && jsonArray.length() > 0){
- jsonResult.put(oldValue, jsonArray);
- }
- return jsonResult;
- }
-
- public void PrePopulateDCAEMSPolicyData(PolicyAdapter policyAdapter) {
- if (policyAdapter.getPolicyData() instanceof PolicyType) {
- Object policyData = policyAdapter.getPolicyData();
- PolicyType policy = (PolicyType) policyData;
- policyAdapter.setOldPolicyFileName(policyAdapter.getPolicyName());
- String policyNameValue = policyAdapter.getPolicyName().substring(policyAdapter.getPolicyName().indexOf("MS_") +3 , policyAdapter.getPolicyName().lastIndexOf("."));
- policyAdapter.setPolicyName(policyNameValue);
- String description = "";
- try{
- description = policy.getDescription().substring(0, policy.getDescription().indexOf("@CreatedBy:"));
- }catch(Exception e){
- description = policy.getDescription();
- }
- policyAdapter.setPolicyDescription(description);
- String jsonBodyName = policyAdapter.getDirPath().replace(File.separator, ".")+ "." + policyAdapter.getOldPolicyFileName() + ".";
- policyAdapter.setConfigBodyPath(jsonBodyName);
- // Get the target data under policy.
- TargetType target = policy.getTarget();
- if (target != null) {
- // Under target we have AnyOFType
- List<AnyOfType> anyOfList = target.getAnyOf();
- if (anyOfList != null) {
- Iterator<AnyOfType> iterAnyOf = anyOfList.iterator();
- while (iterAnyOf.hasNext()) {
- AnyOfType anyOf = iterAnyOf.next();
- // Under AnyOFType we have AllOFType
- List<AllOfType> allOfList = anyOf.getAllOf();
- if (allOfList != null) {
- Iterator<AllOfType> iterAllOf = allOfList.iterator();
- while (iterAllOf.hasNext()) {
- AllOfType allOf = iterAllOf.next();
- // Under AllOFType we have Match
- List<MatchType> matchList = allOf.getMatch();
- if (matchList != null) {
- int index = 0;
- Iterator<MatchType> iterMatch = matchList.iterator();
- while (matchList.size()>1 && iterMatch.hasNext()) {
- MatchType match = iterMatch.next();
- //
- // Under the match we have attributevalue and
- // attributeDesignator. So,finally down to the actual attribute.
- //
- AttributeValueType attributeValue = match.getAttributeValue();
- String value = (String) attributeValue.getContent().get(0);
-
- // First match in the target is EcompName, so set that value.
- if (index == 0) {
- policyAdapter.setEcompName(value);
- }
- if (index == 1){
- policyAdapter.setConfigName(value);
- }
- if (index == 2){
- if(value != null){
- readFile(policyAdapter);
- }
- }
- if (index == 3){
- policyAdapter.setUuid(value);
- }
- if (index == 4){
- policyAdapter.setLocation(value);
- }
- if (index == 5){
- policyAdapter.setRiskType(value);
- }
-
- if (index == 6){
- policyAdapter.setRiskLevel(value);
- }
-
- if (index == 7){
- policyAdapter.setGuard(value);
- }
- if (index == 8 && !value.contains("NA")){
- String newDate = convertDate(value, true);
- policyAdapter.setTtlDate(newDate);
- }
- index++;
- }
- }
- }
- }
- }
- }
- }
- }
-
- }
-
- private String convertDate(String dateTTL, boolean portalType) {
- String formateDate = null;
- String[] date;
- String[] parts;
-
- if (portalType){
- parts = dateTTL.split("-");
- formateDate = parts[2] + "-" + parts[1] + "-" + parts[0] + "T05:00:00.000Z";
- } else {
- date = dateTTL.split("T");
- parts = date[0].split("-");
- formateDate = parts[2] + "-" + parts[1] + "-" + parts[0];
- }
- return formateDate;
- }
-
- @SuppressWarnings("unchecked")
- private String readFile(PolicyAdapter policyAdapter) {
- String fileLocation = null;
- String policyScopeName = null;
- String fileName = policyAdapter.getConfigBodyPath();
- if (fileName != null ) {
- fileLocation = PolicyController.getConfigHome();
- }
- if (fileLocation == null) {
- return fileLocation;
- }
- File dir = new File(fileLocation);
- File[] listOfFiles = dir.listFiles();
- for (File file : listOfFiles) {
- if (file.isFile() && file.getName().contains(fileName)) {
- FileInputStream inputStream = null;
- String location = file.toString();
- try {
- inputStream = new FileInputStream(location);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- if (location.endsWith("json")) {
- JsonReader jsonReader = null;
- jsonReader = Json.createReader(inputStream);
- ObjectMapper mapper = new ObjectMapper();
- try {
- DCAEMicroServiceObject msBody = (DCAEMicroServiceObject) mapper.readValue(jsonReader.read().toString(), DCAEMicroServiceObject.class);
- policyScopeName = getPolicyScope(msBody.getPolicyScope());
- policyAdapter.setPolicyScope(policyScopeName);
-
- policyAdapter.setPriority(msBody.getPriority());
-
- if (msBody.getVersion()!= null){
- policyAdapter.setServiceType(msBody.getService() + "-v" + msBody.getVersion());
- }else{
- policyAdapter.setServiceType(msBody.getService());
- }
- if(msBody.getContent() != null){
- LinkedHashMap<String, Object> data = new LinkedHashMap<String, Object>();
- LinkedHashMap<String, ?> map = (LinkedHashMap<String, ?>) msBody.getContent();
- readRecursivlyJSONContent(map, data);
- policyAdapter.setRuleData(data);
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- jsonReader.close();
- }
- }
- }
- return fileName;
-
- }
-
- @SuppressWarnings({ "rawtypes", "unchecked" })
- private void readRecursivlyJSONContent(LinkedHashMap<String, ?> map, LinkedHashMap<String, Object> data){
- for (Iterator iterator = map.keySet().iterator(); iterator.hasNext();) {
- Object key = iterator.next();
- Object value = map.get(key);
- if(value instanceof LinkedHashMap<?, ?>){
- readRecursivlyJSONContent((LinkedHashMap<String, ?>) value, data);
- }else if(value instanceof ArrayList){
- ArrayList<?> jsonArrayVal = (ArrayList<?>)value;
- for(int i = 0; i < jsonArrayVal.size(); i++){
- Object arrayvalue = jsonArrayVal.get(i);
- if(arrayvalue instanceof LinkedHashMap<?, ?>){
- LinkedHashMap<String, Object> newData = new LinkedHashMap<String, Object>();
- readRecursivlyJSONContent((LinkedHashMap<String, ?>) arrayvalue, newData);
- for(String objKey: newData.keySet()){
- data.put(key+"@"+i+"." +objKey, newData.get(objKey));
- }
- }else if(arrayvalue instanceof ArrayList){
- ArrayList<?> jsonArrayVal1 = (ArrayList<?>)value;
- for(int j = 0; j < jsonArrayVal1.size(); j++){
- Object arrayvalue1 = jsonArrayVal1.get(i);
- data.put(key+"@"+j, arrayvalue1.toString());
- }
- }else{
- data.put(key+"@"+i, arrayvalue.toString());
- }
- }
- }else{
- data.put(key.toString(), value.toString());
- }
- }
- }
-
- private String getPolicyScope(String value) {
- GroupPolicyScopeList pScope = new GroupPolicyScopeList();
- List<GroupPolicyScopeList> groupList= groupPolicyScopeListDao.getGroupPolicyScopeListData();
- if(groupList.size() > 0){
- for(int i = 0 ; i < groupList.size() ; i ++){
- pScope = groupList.get(i);
- if (pScope.getGroupList().equals(value)){
- break;
- }
- }
- }
- return pScope.getGroupName();
- }
-
- private GroupPolicyScopeList getPolicyObject(String policyScope) {
- GroupPolicyScopeList pScope = new GroupPolicyScopeList();
- List<GroupPolicyScopeList> groupList = groupPolicyScopeListDao.getGroupPolicyScopeListData();
- if(groupList.size() > 0){
- for(int i = 0 ; i < groupList.size() ; i ++){
- pScope = groupList.get(i);
- if (pScope.getGroupName().equals(policyScope)){
- break;
- }
- }
- }
- return pScope;
- }
-
- private String constructJson(PolicyAdapter policyAdapter, String jsonContent) {
- ObjectWriter om = new ObjectMapper().writer();
- String json="";
- DCAEMicroServiceObject microServiceObject = new DCAEMicroServiceObject();
-
- microServiceObject.setTemplateVersion(XACMLProperties.getProperty(XACMLRestProperties.TemplateVersion_MS));
- if(policyAdapter.getServiceType() !=null){
- microServiceObject.setService(policyAdapter.getServiceType().toString().split("-v")[0]);
- if (policyAdapter.getServiceType().toString().contains("-v")){
- microServiceObject.setVersion(policyAdapter.getServiceType().toString().split("-v")[1]);
- }
- }
- if(policyAdapter.getUuid()!=null){
- microServiceObject.setUuid(policyAdapter.getUuid());
- }
-
- if(policyAdapter.getLocation()!=null){
- microServiceObject.setLocation(policyAdapter.getLocation());
- }
- if(policyAdapter.getPolicyName()!=null){
- microServiceObject.setPolicyName(policyAdapter.getPolicyName());
- }
-
- if(policyAdapter.getConfigName()!=null){
- microServiceObject.setConfigName(policyAdapter.getConfigName());
- }
- if(policyAdapter.getPolicyDescription()!=null){
- microServiceObject.setDescription(policyAdapter.getPolicyDescription());
- }
- if (policyAdapter.getPriority()!=null){
- microServiceObject.setPriority(policyAdapter.getPriority());
- }else {
- microServiceObject.setPriority("9999");
- }
- microServiceObject.setContent(jsonContent);
- GroupPolicyScopeList policyScopeValue = getPolicyObject(policyAdapter.getPolicyScope());
- microServiceObject.setPolicyScope(policyScopeValue.getGroupList());
- try {
- json = om.writeValueAsString(microServiceObject);
- } catch (JsonProcessingException e) {
- logger.error("Error writing out the object");
- }
- System.out.println(json);
- String cleanJson = cleanUPJson(json);
- return cleanJson;
- }
-
- private String cleanUPJson(String json) {
- String cleanJason = StringUtils.replaceEach(json, new String[]{"\\\\", "\\\\\\", "\\\\\\\\"}, new String[]{"\\", "\\", "\\"});
- cleanJason = StringUtils.replaceEach(json, new String[]{"\\\\\\"}, new String[]{"\\"});
- cleanJason = StringUtils.replaceEach(cleanJason, new String[]{"\\\\", "[[", "]]"}, new String[]{"\\", "[", "]"});
-
- cleanJason = StringUtils.replaceEach(cleanJason, new String[]{"\\\\\"", "\\\"", "\"[{", "}]\""}, new String[]{"\"", "\"", "[{", "}]"});
- cleanJason = StringUtils.replaceEach(cleanJason, new String[]{"\"[{", "}]\""}, new String[]{"[{", "}]"});
- cleanJason = StringUtils.replaceEach(cleanJason, new String[]{"\"[", "]\""}, new String[]{"[", "]"});
- cleanJason = StringUtils.replaceEach(cleanJason, new String[]{"\"{", "}\""}, new String[]{"{", "}"});
- cleanJason = StringUtils.replaceEach(cleanJason, new String[]{"\"\"\"", "\"\""}, new String[]{"\"", "\""});
- cleanJason = StringUtils.replaceEach(cleanJason, new String[]{"\\\""}, new String[]{""});
- return cleanJason;
- }
-
- //Convert the map values and set into JSON body
- public Map<String, String> convertMap(Map<String, String> attributesMap, Map<String, String> attributesRefMap) {
- Map<String, String> attribute = new HashMap<String, String>();
- String temp = null;
- String key;
- String value;
- for (Entry<String, String> entry : attributesMap.entrySet()) {
- key = entry.getKey();
- value = entry.getValue();
- attribute.put(key, value);
- }
- for (Entry<String, String> entryRef : attributesRefMap.entrySet()) {
- key = entryRef.getKey();
- value = entryRef.getValue().toString();
- attribute.put(key, value);
- }
- for (Entry<String, String> entryList : attributesListRefMap.entrySet()) {
- key = entryList.getKey();
- value = entryList.getValue().toString();
- attribute.put(key, value);
- }
- for (Entry<String, LinkedList<String>> arrayList : arrayTextList.entrySet()){
- key = arrayList.getKey();
- temp = null;
- for (Object textList : arrayList.getValue()){
- if (temp == null){
- temp = "[" + textList;
- }else{
- temp = temp + "," + textList;
- }
- }
- attribute.put(key, temp+ "]");
- }
-
- return attribute;
- }
-
- private String convertDate(String dateTTL) {
- String formateDate = null;
- String[] date = dateTTL.split("T");
- String[] parts = date[0].split("-");
-
- formateDate = parts[2] + "-" + parts[1] + "-" + parts[0];
- return formateDate;
- }
-}
-
-class DCAEMicroServiceObject {
-
- public String service;
- public String location;
- public String uuid;
- public String policyName;
- public String description;
- public String configName;
- public String templateVersion;
- public String version;
- public String priority;
- public String policyScope;
-
- public String getPolicyScope() {
- return policyScope;
- }
- public void setPolicyScope(String policyScope) {
- this.policyScope = policyScope;
- }
-
- public String getPriority() {
- return priority;
- }
- public void setPriority(String priority) {
- this.priority = priority;
- }
- public String getVersion() {
- return version;
- }
- public void setVersion(String version) {
- this.version = version;
- }
- private Object content;
-
-
- public String getPolicyName() {
- return policyName;
- }
- public void setPolicyName(String policyName) {
- this.policyName = policyName;
- }
- public String getDescription() {
- return description;
- }
- public void setDescription(String description) {
- this.description = description;
- }
- public String getConfigName() {
- return configName;
- }
- public void setConfigName(String configName) {
- this.configName = configName;
- }
- public Object getContent() {
- return content;
- }
- public void setContent(Object content) {
- this.content = content;
- }
-
- public String getService() {
- return service;
- }
- public void setService(String service) {
- this.service = service;
- }
- public String getLocation() {
- return location;
- }
- public void setLocation(String location) {
- this.location = location;
- }
-
- public String getUuid() {
- return uuid;
- }
- public void setUuid(String uuid) {
- this.uuid = uuid;
- }
- public String getTemplateVersion() {
- return templateVersion;
- }
- public void setTemplateVersion(String templateVersion) {
- this.templateVersion = templateVersion;
- }
-
-} \ No newline at end of file
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateFirewallController.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateFirewallController.java
deleted file mode 100644
index 6d7c0c752..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreateFirewallController.java
+++ /dev/null
@@ -1,1292 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.controller;
-
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.hibernate.SQLQuery;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.json.JSONObject;
-import org.openecomp.policy.adapter.AddressGroupJson;
-import org.openecomp.policy.adapter.AddressJson;
-import org.openecomp.policy.adapter.AddressMembers;
-import org.openecomp.policy.adapter.DeployNowJson;
-import org.openecomp.policy.adapter.PolicyAdapter;
-import org.openecomp.policy.adapter.PrefixIPList;
-import org.openecomp.policy.adapter.ServiceGroupJson;
-import org.openecomp.policy.adapter.ServiceListJson;
-import org.openecomp.policy.adapter.ServiceMembers;
-import org.openecomp.policy.adapter.ServicesJson;
-import org.openecomp.policy.adapter.Term;
-import org.openecomp.policy.adapter.TermCollector;
-import org.openecomp.policy.admin.PolicyNotificationMail;
-import org.openecomp.policy.admin.RESTfulPAPEngine;
-import org.openecomp.policy.dao.PolicyVersionDao;
-import org.openecomp.policy.dao.RuleAlgorithmsDao;
-import org.openecomp.policy.dao.WatchPolicyNotificationDao;
-import org.openecomp.policy.elk.client.PolicyElasticSearchController;
-import org.openecomp.policy.rest.dao.AddressGroupDao;
-import org.openecomp.policy.rest.dao.FirewallDictionaryListDao;
-import org.openecomp.policy.rest.dao.PrefixListDao;
-import org.openecomp.policy.rest.dao.SecurityZoneDao;
-import org.openecomp.policy.rest.dao.ServiceGroupDao;
-import org.openecomp.policy.rest.dao.ServiceListDao;
-import org.openecomp.policy.rest.dao.TermListDao;
-import org.openecomp.policy.rest.jpa.AddressGroup;
-import org.openecomp.policy.rest.jpa.FirewallDictionaryList;
-import org.openecomp.policy.rest.jpa.GroupServiceList;
-import org.openecomp.policy.rest.jpa.PREFIXLIST;
-import org.openecomp.policy.rest.jpa.PolicyVersion;
-import org.openecomp.policy.rest.jpa.RuleAlgorithms;
-import org.openecomp.policy.rest.jpa.SecurityZone;
-import org.openecomp.policy.rest.jpa.ServiceList;
-import org.openecomp.policy.rest.jpa.TermList;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
-import org.openecomp.portalsdk.core.web.support.JsonMessage;
-import org.openecomp.portalsdk.core.web.support.UserUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-import com.att.research.xacml.api.XACML3;
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import org.openecomp.policy.xacml.util.XACMLPolicyScanner;
-import com.fasterxml.jackson.core.JsonGenerationException;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonMappingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.ObjectWriter;
-import com.google.common.base.Joiner;
-
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType;
-
-@Controller
-@RequestMapping("/")
-public class CreateFirewallController extends RestrictedBaseController {
- private static Logger logger = FlexLogger.getLogger(CreateFirewallController.class);
-
- private static RuleAlgorithmsDao ruleAlgorithmsDao;
- private static PolicyVersionDao policyVersionDao;
- private static PrefixListDao prefixListDao;
- private static ServiceListDao serviceListDao;
- private static TermListDao termListDao;
- private static ServiceGroupDao serviceGroupDao;
- private static AddressGroupDao addressGroupDao;
- private static SecurityZoneDao securityZoneDao;
- private static SessionFactory sessionFactory;
- private static FirewallDictionaryListDao fwDictionaryListDao;
- private static WatchPolicyNotificationDao policyNotificationDao;
-
- List<String> expandablePrefixIPList = new ArrayList<String>();
- List<String> expandableServicesList= new ArrayList<String>();
-
- private String parentSecurityZone;
-
-
- public String getParentSecurityZone() {
- return parentSecurityZone;
- }
-
- public void setParentSecurityZone(String parentSecurityZone) {
- this.parentSecurityZone = parentSecurityZone;
- }
-
-
-
- @Autowired
- private CreateFirewallController(RuleAlgorithmsDao ruleAlgorithmsDao, PolicyVersionDao policyVersionDao, PrefixListDao prefixListDao,
- ServiceListDao serviceListDao, TermListDao termListDao, ServiceGroupDao serviceGroupDao, AddressGroupDao addressGroupDao, SecurityZoneDao securityZoneDao, SessionFactory sessionFactory
- ,FirewallDictionaryListDao fwDictionaryListDao, WatchPolicyNotificationDao policyNotificationDao){
- CreateFirewallController.addressGroupDao = addressGroupDao;
- CreateFirewallController.ruleAlgorithmsDao = ruleAlgorithmsDao;
- CreateFirewallController.policyVersionDao = policyVersionDao;
- CreateFirewallController.prefixListDao = prefixListDao;
- CreateFirewallController.serviceListDao = serviceListDao;
- CreateFirewallController.termListDao = termListDao;
- CreateFirewallController.serviceGroupDao = serviceGroupDao;
- CreateFirewallController.securityZoneDao = securityZoneDao;
- CreateFirewallController.sessionFactory = sessionFactory;
- CreateFirewallController.fwDictionaryListDao = fwDictionaryListDao;
- CreateFirewallController.policyNotificationDao = policyNotificationDao;
- }
-
- public CreateFirewallController(){}
- protected PolicyAdapter policyAdapter = null;
- private List<String> termCollectorList;
- private List<FirewallDictionaryList> parentDictionaryList;
- private String ruleID = "";
- private String jsonBody;
- private ArrayList<Object> attributeList;
- private ArrayList<Object> fwAttributeList;
-
- public String newPolicyID() {
- return Joiner.on(':').skipNulls().join((PolicyController.getDomain().startsWith("urn") ? null: "urn"),
- PolicyController.getDomain().replaceAll("[/\\\\.]", ":"), "xacml", "policy", "id", UUID.randomUUID());
- }
-
- @RequestMapping(value={"/get_FWParentListDataByName"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE)
- public void getFWParentListEntityDataByName(HttpServletRequest request, HttpServletResponse response){
- try{
- Map<String, Object> model = new HashMap<String, Object>();
- ObjectMapper mapper = new ObjectMapper();
- String query= "select distinct parent from fwparent";
- model.put("fwParentListDictionaryDatas", mapper.writeValueAsString(queryToDatabase(query)));
-
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(model));
- JSONObject j = new JSONObject(msg);
- response.getWriter().write(j.toString());
- }
- catch (Exception e){
- e.printStackTrace();
- }
- }
-
- @SuppressWarnings("unchecked")
- private List<String> queryToDatabase(String query) {
- Session session = sessionFactory.openSession();
- Transaction tx = session.beginTransaction();
- List<String> data = null;
- try {
- SQLQuery sqlquery=session.createSQLQuery(query);
- //Query hbquery = session.createQuery(query);
- data = sqlquery.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Qurying Parent Child Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
-
- }
-
- @SuppressWarnings("unchecked")
- private void updateToDatabase(String updateQuery) {
- Session session = sessionFactory.openSession();
- Transaction tx = session.beginTransaction();
- List<String> data = null;
- try {
- SQLQuery sqlquery=session.createSQLQuery(updateQuery);
- sqlquery.executeUpdate();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating FWChildParent Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
-
- @RequestMapping(value={"/policyController/save_FirewallPolicy.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView saveFirewallPolicy(HttpServletRequest request, HttpServletResponse response) throws Exception{
- termCollectorList = new ArrayList<String>();
- parentDictionaryList= new ArrayList<FirewallDictionaryList>();
- try {
- String userId = UserUtils.getUserIdFromCookie(request);
- RESTfulPAPEngine engine = (RESTfulPAPEngine) PolicyController.getPapEngine();
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- PolicyAdapter policyData = (PolicyAdapter)mapper.readValue(root.get("policyData").get("policy").toString(), PolicyAdapter.class);
- policyData.setDomainDir(root.get("policyData").get("model").get("name").toString().replace("\"", ""));
- if(root.get("policyData").get("model").get("type").toString().replace("\"", "").equals("file")){
- policyData.isEditPolicy = true;
- }
- this.policyAdapter = policyData;
- if(root.get("policyData").get("model").get("path").size() != 0){
- String dirName = "";
- for(int i = 0; i < root.get("policyData").get("model").get("path").size(); i++){
- dirName = dirName.replace("\"", "") + root.get("policyData").get("model").get("path").get(i).toString().replace("\"", "") + File.separator;
- }
- policyData.setDomainDir(dirName.substring(0, dirName.lastIndexOf(File.separator)));
- }else{
- policyData.setDomainDir(root.get("policyData").get("model").get("name").toString().replace("\"", ""));
- }
-
- if (policyData.getTtlDate()==null){
- policyData.setTtlDate("NA");
- }else{
- String dateTTL = policyData.getTtlDate();
- String newDate = convertDate(dateTTL);
- policyData.setTtlDate(newDate);
- }
-
- int version = 0;
- int highestVersion = 0;
- int descriptionVersion = 0;
- //get the highest version of policy from policy version table.
- //getting the sub scope domain where the policy is created or updated
- String dbCheckPolicyName = policyData.getDomainDir() + File.separator + "Config_FW_" + policyData.getPolicyName();
- List<PolicyVersion> policyVersionList = policyVersionDao.getPolicyVersionEntityByName(dbCheckPolicyName);
- if (policyVersionList.size() > 0) {
- for(int i = 0; i < policyVersionList.size(); i++) {
- PolicyVersion entityItem = policyVersionList.get(i);
- if(entityItem.getPolicyName().equals(dbCheckPolicyName)){
- highestVersion = entityItem.getHigherVersion();
- }
- }
- }
- if(highestVersion != 0){
- version = highestVersion;
- descriptionVersion = highestVersion +1;
- }else{
- version = 1;
- descriptionVersion = 1;
- }
-
- //set policy adapter values for Building JSON object containing policy data
- String createdBy = "";
- String modifiedBy = userId;
- if(descriptionVersion == 1){
- createdBy = userId;
- }else{
- String policyName = PolicyController.getGitPath().toAbsolutePath().toString() + File.separator + policyData.getDomainDir() + File.separator + policyData.getOldPolicyFileName() + ".xml";
- File policyPath = new File(policyName);
- try {
- createdBy = XACMLPolicyScanner.getCreatedBy(policyPath.toPath());
- } catch (IOException e) {
- createdBy = "guest";
- }
- }
-
- if(policyData.getFwPolicyType().equalsIgnoreCase("Parent Policy")){
- String comboNames="";
- int i=0;
- for(Object fwattribute : policyData.getFwattributes()){
- if(fwattribute instanceof LinkedHashMap<?, ?>){
- String key = ((LinkedHashMap<?, ?>) fwattribute).get("option").toString();
- if(i>0){
- comboNames = comboNames+","+ key;
- }
- else{
- comboNames = key;
- }
- i++;
- }
- }
- policyData.setPolicyDescription(policyData.getPolicyDescription()+ "@CreatedBy:" +createdBy + "@CreatedBy:" + "@ModifiedBy:" +modifiedBy + "@ModifiedBy:"+"@comboList:"+comboNames);
- }
- else{
- policyData.setPolicyDescription(policyData.getPolicyDescription()+ "@CreatedBy:" +createdBy + "@CreatedBy:" + "@ModifiedBy:" +modifiedBy + "@ModifiedBy:");
- }
-
- //policyData.setPolicyDescription(policyData.getPolicyDescription()+ "@CreatedBy:" +createdBy + "@CreatedBy:" + "@ModifiedBy:" +modifiedBy + "@ModifiedBy:");
- Map<String, String> successMap = new HashMap<String, String>();
-
- //set the Rule Combining Algorithm Id to be sent to PAP-REST via JSON
- List<RuleAlgorithms> ruleAlgorithmsList = ruleAlgorithmsDao.getRuleAlgorithms();
- for (int i = 0; i < ruleAlgorithmsList.size(); i++) {
- RuleAlgorithms a = ruleAlgorithmsList.get(i);
- if (a.getXacmlId().equals(XACML3.ID_RULE_PERMIT_OVERRIDES.stringValue())) {
- policyData.setRuleCombiningAlgId(a.getXacmlId());
- break;
- }
- }
-
- if(policyData.getAttributes().size() > 0){
- for(Object attribute : policyData.getAttributes()){
- if(attribute instanceof LinkedHashMap<?, ?>){
- String key = ((LinkedHashMap<?, ?>) attribute).get("option").toString();
- termCollectorList.add(key);
- }
- }
- }
- if(policyData.getFwattributes()!=null){
- if(policyData.getFwattributes().size() > 0){
- for(Object fwattribute : policyData.getFwattributes()){
- if(fwattribute instanceof LinkedHashMap<?, ?>){
- String key = ((LinkedHashMap<?, ?>) fwattribute).get("option").toString();
- FirewallDictionaryList fwDictValue = fwDictionaryListDao.getFWDictionaryDataById(key);
- parentDictionaryList.add(fwDictValue);
- if(fwDictValue.getAddressList().contains(",")) {
- for(String individualAddressObject:fwDictValue.getAddressList().split(",") ){
- expandablePrefixIPList.add(individualAddressObject);
- }
- }
- else{
- expandablePrefixIPList.add(fwDictValue.getAddressList());
- }
-
- if(fwDictValue.getServiceList().contains(",")) {
- for(String individualAddressObject:fwDictValue.getServiceList().split(",") ){
- expandableServicesList.add(individualAddressObject);
- }
- }
- else{
- expandableServicesList.add(fwDictValue.getServiceList());
- }
- }
- }
- }
- }
-
- jsonBody = constructJson();
- if (jsonBody != null || jsonBody.equalsIgnoreCase("")) {
- policyAdapter.setJsonBody(jsonBody);
-
- } else {
- policyAdapter.setJsonBody("{}");
- }
- policyData.setJsonBody(jsonBody);
-
-
- if (policyData.isEditPolicy()){
- //increment the version and set in policyAdapter
- policyData.setVersion(String.valueOf(version));
- policyData.setHighestVersion(version);
- policyData.setPolicyID(this.newPolicyID());
- policyData.setRuleID(ruleID);
- successMap = engine.updatePolicyRequest(policyData);
- } else {
- //send it for policy creation
- policyData.setVersion(String.valueOf(version));
- policyData.setHighestVersion(version);
- successMap = engine.createPolicyRequest(policyData);
-
- }
-
- if (successMap.containsKey("success")) {
- // Add it into our tree
- Path finalPolicyPath = null;
- finalPolicyPath = Paths.get(successMap.get("success"));
- PolicyElasticSearchController controller = new PolicyElasticSearchController();
- controller.updateElk(finalPolicyPath.toString());
- File file = finalPolicyPath.toFile();
- if(file != null){
- String policyName = file.toString();
- String removePath = policyName.substring(policyName.indexOf("repository")+11);
- String removeXml = removePath.replace(".xml", "");
- String removeExtension = removeXml.substring(0, removeXml.indexOf("."));
- List<PolicyVersion> versionList = policyVersionDao.getPolicyVersionEntityByName(removeExtension);
- if (versionList.size() > 0) {
- for(int i = 0; i < versionList.size(); i++) {
- PolicyVersion entityItem = versionList.get(i);
- if(entityItem.getPolicyName().equals(removeExtension)){
- version = entityItem.getHigherVersion() +1;
- entityItem.setActiveVersion(version);
- entityItem.setHigherVersion(version);
- entityItem.setModifiedBy(userId);
- policyVersionDao.update(entityItem);
- if(policyData.isEditPolicy){
- PolicyNotificationMail email = new PolicyNotificationMail();
- String mode = "EditPolicy";
- String policyNameForEmail = policyData.getDomainDir() + File.separator + policyData.getOldPolicyFileName() + ".xml";
- email.sendMail(entityItem, policyNameForEmail, mode, policyNotificationDao);
- }
- }
- }
- }else{
- PolicyVersion entityItem = new PolicyVersion();
- entityItem.setActiveVersion(version);
- entityItem.setHigherVersion(version);
- entityItem.setPolicyName(removeExtension);
- entityItem.setCreatedBy(userId);
- entityItem.setModifiedBy(userId);
- policyVersionDao.Save(entityItem);
- }
- removeExtension=removeExtension.replace(File.separator, ".");
- //PC Feature
- if(policyAdapter.getFwPolicyType().equalsIgnoreCase("Parent Policy")){
- //Reads the SecurityZone from the Parent UI and then gets the value from the DB
- //Stores the Parent Policy Name and securityZone value to the fwparent table.
- String parentSecurityZoneValue= getParentSecurityZone();
- String parentQuery= "INSERT INTO FWPARENT(PARENT,SECURITYZONE) VALUES ('";
- parentQuery=parentQuery+removeExtension+"','"+ parentSecurityZoneValue +"')";
- updateToDatabase(parentQuery);
- }
- else{
- String updateQuery = "";
- if(policyAdapter.isEditPolicy()){
- updateQuery= "UPDATE FWCHILDTOPARENT SET PARENT='"+policyAdapter.getParentForChild()+"' WHERE CHILD='"+removeExtension+"'";
- }
- else{
- updateQuery= "INSERT INTO FWCHILDTOPARENT(CHILD,PARENT) VALUES ('";
- updateQuery =updateQuery+removeExtension+"','"+ policyAdapter.getParentForChild() +"')";
- }
- updateToDatabase(updateQuery);
- }
- }
- }
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
- String responseString = mapper.writeValueAsString(successMap);
- JSONObject j = new JSONObject("{policyData: " + responseString + "}");
- out.write(j.toString());
- return null;
- }
- catch (Exception e){
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
- out.write(e.getMessage());
- }
- return null;
- }
-
- private String convertDate(String dateTTL) {
- String formateDate = null;
- String[] date = dateTTL.split("T");
- String[] parts = date[0].split("-");
-
- formateDate = parts[2] + "-" + parts[1] + "-" + parts[0];
- return formateDate;
- }
-
- private String constructJson() {
- int ruleCount=1;
- //Maps to assosciate the values read from the TermList dictionary
- Map<Integer, String> srcIP_map =null;
- Map<Integer, String> destIP_map=null;
- Map<Integer, String> srcPort_map =null;
- Map<Integer, String> destPort_map =null;
- Map<Integer, String> action_map=null;
- Map<Integer, String> fromZone_map=null;
- Map<Integer, String> toZone_map=null;
-
- String ruleDesc=null;
- String ruleFromZone=null;
- String ruleToZone=null;
- String ruleSrcPrefixList=null;
- String ruleDestPrefixList=null;
- String ruleSrcPort=null;
- String ruleDestPort=null;
- String ruleAction=null;
-
- String json = null;
-
-
- List<String> expandableList = new ArrayList<String>();
- TermList jpaTermList;
- SecurityZone jpaSecurityZone;
- List<Term> termList = new ArrayList<Term>();
-
- ServiceListJson targetSl=null;
- try{
-
- for (int tl = 0 ; tl< termCollectorList.size(); tl++) {
- expandableList.add(termCollectorList.get(tl));
- Term targetTerm = new Term();
- //targetSl= new ServiceListJson();
- targetTerm.setRuleName(termCollectorList.get(tl));
- List<TermList> termListData = termListDao.getTermListData();
- for (int j =0; j < termListData.size(); j++) {
- jpaTermList = termListData.get(j);
- if (jpaTermList.getTermName().equals(termCollectorList.get(tl))){
- ruleDesc=jpaTermList.getTermDescription();
- if ((ruleDesc!=null)&& (!ruleDesc.isEmpty())){
- targetTerm.setDescription(ruleDesc);
- }
- ruleFromZone=jpaTermList.getFromZone();
-
- if ((ruleFromZone != null) && (!ruleFromZone.isEmpty())){
- fromZone_map = new HashMap<Integer, String>();
- fromZone_map.put(tl, ruleFromZone);
- }
- ruleToZone=jpaTermList.getToZone();
-
- if ((ruleToZone != null) && (!ruleToZone.isEmpty())){
- toZone_map = new HashMap<Integer, String>();
- toZone_map.put(tl, ruleToZone);
- }
- ruleSrcPrefixList=jpaTermList.getSrcIPList();
-
- if ((ruleSrcPrefixList != null) && (!ruleSrcPrefixList.isEmpty())){
- srcIP_map = new HashMap<Integer, String>();
- srcIP_map.put(tl, ruleSrcPrefixList);
- }
-
- ruleDestPrefixList= jpaTermList.getDestIPList();
- if ((ruleDestPrefixList != null) && (!ruleDestPrefixList.isEmpty())){
- destIP_map = new HashMap<Integer, String>();
- destIP_map.put(tl, ruleDestPrefixList);
- }
-
- ruleSrcPort=jpaTermList.getSrcPortList();
-
- if (ruleSrcPort != null && (!ruleSrcPort.isEmpty())){
- srcPort_map = new HashMap<Integer, String>();
- srcPort_map.put(tl, ruleSrcPort);
- }
-
- ruleDestPort= jpaTermList.getDestPortList();
-
- if (ruleDestPort!= null && (!jpaTermList.getDestPortList().isEmpty())){
- destPort_map = new HashMap<Integer, String>();
- destPort_map.put(tl, ruleDestPort);
- }
-
- ruleAction=jpaTermList.getAction();
-
- if (( ruleAction!= null) && (!ruleAction.isEmpty())){
- action_map = new HashMap<Integer, String>();
- action_map.put(tl, ruleAction);
- }
- }
- }
- targetTerm.setEnabled(true);
- targetTerm.setLog(true);
- targetTerm.setNegateSource(false);
- targetTerm.setNegateDestination(false);
-
- if(action_map!=null){
- targetTerm.setAction(action_map.get(tl));
- }
-
- //FromZone arrays
- if(fromZone_map!=null){
- List<String> fromZone= new ArrayList<String>();
- for(String fromZoneStr:fromZone_map.get(tl).split(",") ){
- fromZone.add(fromZoneStr);
- }
- targetTerm.setFromZones(fromZone);
- }
-
- //ToZone arrays
- if(toZone_map!=null){
- List<String> toZone= new ArrayList<String>();
- for(String toZoneStr:toZone_map.get(tl).split(",") ){
- toZone.add(toZoneStr);
- }
- targetTerm.setToZones(toZone);
- }
-
- //Destination Services.
- if(destPort_map!=null){
- Set<ServicesJson> destServicesJsonList= new HashSet<ServicesJson>();
- for(String destServices:destPort_map.get(tl).split(",") ){
- ServicesJson destServicesJson= new ServicesJson();
- destServicesJson.setType("REFERENCE");
- if(destServices.equals("ANY")){
- destServicesJson.setName("any");
- destServicesJsonList.add(destServicesJson);
- break;
- }else{
- if(destServices.startsWith("Group_")){
- destServicesJson.setName(destServices.substring(6,destServices.length()));
- } else{
- destServicesJson.setName(destServices);
- }
- destServicesJsonList.add(destServicesJson);
- }
- }
- targetTerm.setDestServices(destServicesJsonList);
- }
- //ExpandableServicesList
- if((srcPort_map!=null) && (destPort_map!=null)){
- String servicesCollateString = (srcPort_map.get(tl) + "," + destPort_map.get(tl));
- expandableServicesList.add(servicesCollateString);
- }else if (srcPort_map!=null){
- expandableServicesList.add(srcPort_map.get(tl));
- }else if (destPort_map!=null){
- expandableServicesList.add(destPort_map.get(tl));
- }
-
- if(srcIP_map!=null){
- //Source List
- List<AddressJson> sourceListArrayJson= new ArrayList<AddressJson>();
- for(String srcList:srcIP_map.get(tl).split(",") ){
- AddressJson srcListJson= new AddressJson();
- if(srcList.equals("ANY")){
- srcListJson.setType("any");
- sourceListArrayJson.add(srcListJson);
- break;
- }else{
- srcListJson.setType("REFERENCE");
- if(srcList.startsWith("Group_")){
- srcListJson.setValue(srcList.substring(6,srcList.length()));
- }else{
- srcListJson.setValue(srcList);
- }
- sourceListArrayJson.add(srcListJson);
- }
- }
- targetTerm.setSourceList(sourceListArrayJson);
- }
- if(destIP_map!=null){
- //Destination List
- List<AddressJson> destListArrayJson= new ArrayList<AddressJson>();
- for(String destList:destIP_map.get(tl).split(",")){
- AddressJson destListJson= new AddressJson();
- if(destList.equals("ANY")){
- destListJson.setType("any");
- destListArrayJson.add(destListJson);
- break;
- }else{
- destListJson.setType("REFERENCE");
- if(destList.startsWith("Group_")){
- destListJson.setValue(destList.substring(6,destList.length()));
- }else{
- destListJson.setValue(destList);
- }
- destListArrayJson.add(destListJson);
- }
- }
- targetTerm.setDestinationList(destListArrayJson);
- }
- //ExpandablePrefixIPList
- if ((srcIP_map!=null) && (destIP_map!=null))
- {
- String collateString = (srcIP_map.get(tl) + "," + destIP_map
- .get(tl));
- expandablePrefixIPList.add(collateString);
- }
- else if(srcIP_map!=null){
- expandablePrefixIPList.add(srcIP_map.get(tl));
- }
- else if(destIP_map!=null){
- expandablePrefixIPList.add(destIP_map.get(tl));
- }
- termList.add(targetTerm);
- targetTerm.setPosition("" + (ruleCount++));
- }
- TermCollector tc = new TermCollector();
- List<SecurityZone> securityZoneData = securityZoneDao.getSecurityZoneData();
- for (int j =0 ; j< securityZoneData.size() ; j++){
- jpaSecurityZone = securityZoneData.get(j);
- if (jpaSecurityZone.getZoneName().equals(policyAdapter.getSecurityZone())){
- tc.setSecurityZoneId(jpaSecurityZone.getZoneValue());
- setParentSecurityZone(jpaSecurityZone.getZoneValue());//For storing the securityZone IDs to the DB
- break;
- }
- }
-
- tc.setServiceTypeId("/v0/firewall/pan");
- tc.setConfigName(policyAdapter.getConfigName());
-
- if(policyAdapter.getFwPolicyType().equalsIgnoreCase("Child Policy")){
- String securityZoneQuery="SELECT SECURITYZONE FROM FWPARENT WHERE PARENT='";
- securityZoneQuery=securityZoneQuery+policyAdapter.getParentForChild()+"'";
- List<String> securityZoneValue= queryToDatabase(securityZoneQuery);
- tc.setPrimaryParentZoneId(securityZoneValue.get(0));
- }
- //Astra is rejecting the packet when it sees a new JSON field, so removing it for now.
- //tc.setTemplateVersion(XACMLProperties.getProperty(XACMLRestProperties.TemplateVersion_FW));
-
- DeployNowJson deployNow= new DeployNowJson();
- deployNow.setDeployNow(false);
-
- tc.setDeploymentOption(deployNow);
-
- Set<ServiceListJson> servListArray = new HashSet<ServiceListJson>();
- Set<ServiceGroupJson> servGroupArray= new HashSet<ServiceGroupJson>();
- Set<AddressGroupJson> addrGroupArray= new HashSet<AddressGroupJson>();
-
- ServiceGroupJson targetSg= null;
- AddressGroupJson addressSg=null;
- ServiceListJson targetAny= null;
- ServiceListJson targetAnyTcp=null;
- ServiceListJson targetAnyUdp=null;
-
- for(String serviceList:expandableServicesList){
- for(String t: serviceList.split(",")){
- if((!t.startsWith("Group_"))){
- if(!t.equals("ANY")){
- ServiceList sl = new ServiceList();
- targetSl= new ServiceListJson();
- sl= mappingServiceList(t);
- targetSl.setName(sl.getServiceName());
- targetSl.setDescription(sl.getServiceDescription());
- targetSl.setTransportProtocol(sl.getServiceTransProtocol());
- targetSl.setType(sl.getServiceType());
- targetSl.setPorts(sl.getServicePorts());
- servListArray.add(targetSl);
- }else{
- //Any for destinationServices.
- //Add names any, any-tcp, any-udp to the serviceGroup object.
- targetAny= new ServiceListJson();
- targetAny.setName("any");
- targetAny.setType("SERVICE");
- targetAny.setTransportProtocol("any");
- targetAny.setPorts("any");
-
- servListArray.add(targetAny);
-
- targetAnyTcp= new ServiceListJson();
- targetAnyTcp.setName("any-tcp");
- targetAnyTcp.setType("SERVICE");
- targetAnyTcp.setTransportProtocol("tcp");
- targetAnyTcp.setPorts("any");
-
- servListArray.add(targetAnyTcp);
-
- targetAnyUdp= new ServiceListJson();
- targetAnyUdp.setName("any-udp");
- targetAnyUdp.setType("SERVICE");
- targetAnyUdp.setTransportProtocol("udp");
- targetAnyUdp.setPorts("any");
-
- servListArray.add(targetAnyUdp);
- }
- }else{//This is a group
- GroupServiceList sg= new GroupServiceList();
- targetSg= new ServiceGroupJson();
- sg= mappingServiceGroup(t);
-
- String name=sg.getGroupName();
- //Removing the "Group_" prepending string before packing the JSON
- targetSg.setName(name.substring(6,name.length()));
- List<ServiceMembers> servMembersList= new ArrayList<ServiceMembers>();
-
- for(String groupString: sg.getServiceList().split(",")){
- ServiceMembers serviceMembers= new ServiceMembers();
- serviceMembers.setType("REFERENCE");
- serviceMembers.setName(groupString);
- servMembersList.add(serviceMembers);
- //Expand the group Name
- ServiceList expandGroupSl = new ServiceList();
- targetSl= new ServiceListJson();
- expandGroupSl= mappingServiceList(groupString);
-
- targetSl.setName(expandGroupSl.getServiceName());
- targetSl.setDescription(expandGroupSl.getServiceDescription());
- targetSl.setTransportProtocol(expandGroupSl.getServiceTransProtocol());
- targetSl.setType(expandGroupSl.getServiceType());
- targetSl.setPorts(expandGroupSl.getServicePorts());
- servListArray.add(targetSl);
- }
-
- targetSg.setMembers(servMembersList);
- servGroupArray.add(targetSg);
-
- }
- }
- }
-
- Set<PrefixIPList> prefixIPList = new HashSet<PrefixIPList>();
- for(String prefixList:expandablePrefixIPList){
- for(String prefixIP: prefixList.split(",")){
- if((!prefixIP.startsWith("Group_"))){
- if(!prefixIP.equals("ANY")){
- List<AddressMembers> addMembersList= new ArrayList<AddressMembers>();
- List<String> valueDesc= new ArrayList<String>();
- PrefixIPList targetAddressList = new PrefixIPList();
- AddressMembers addressMembers= new AddressMembers();
- targetAddressList.setName(prefixIP);
-
- valueDesc = mapping(prefixIP);
- targetAddressList.setDescription(valueDesc.get(1));
-
- addressMembers.setType("SUBNET");
- addressMembers.setValue(valueDesc.get(0));
-
- addMembersList.add(addressMembers);
-
- targetAddressList.setMembers(addMembersList);
- prefixIPList.add(targetAddressList);
- }
- }
- else{//This is a group
- AddressGroup ag= new AddressGroup();
- addressSg= new AddressGroupJson();
- ag= mappingAddressGroup(prefixIP);
-
- String name=ag.getGroupName();
- //Removing the "Group_" prepending string before packing the JSON
- addressSg.setName(name.substring(6,name.length()));
-
- List<AddressMembers> addrMembersList= new ArrayList<AddressMembers>();
- for(String groupString: ag.getPrefixList().split(",")){
- List<String> valueDesc= new ArrayList<String>();
- AddressMembers addressMembers= new AddressMembers();
- valueDesc= mapping (groupString);
- if(valueDesc.size() > 0){
- addressMembers.setValue(valueDesc.get(0));
- }
- addressMembers.setType("SUBNET");
- addrMembersList.add(addressMembers);
- //Expand the group Name
- }
- addressSg.setMembers(addrMembersList);
- addrGroupArray.add(addressSg);
- }
-
-
- }
- }
-
- Set<Object> serviceGroup= new HashSet<Object>();
-
- for(Object obj1:servGroupArray){
- serviceGroup.add(obj1);
- }
-
- for(Object obj:servListArray){
- serviceGroup.add(obj);
- }
-
- Set<Object> addressGroup= new HashSet<Object>();
-
- for(Object addObj:prefixIPList){
- addressGroup.add(addObj);
- }
-
- for(Object addObj1:addrGroupArray){
- addressGroup.add(addObj1);
- }
-
- tc.setServiceGroups(serviceGroup);
- tc.setAddressGroups(addressGroup);
- tc.setFirewallRuleList(termList);
-
-
- ObjectWriter om = new ObjectMapper().writer();
- try {
- json = om.writeValueAsString(tc);
- } catch (JsonGenerationException e) {
- e.printStackTrace();
- } catch (JsonMappingException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
-
- }catch (Exception e) {
- e.printStackTrace();
- }
-
- return json;
- }
-
- private List<String> mapping(String expandableList) {
- String value = new String();
- String desc = new String();
- List <String> valueDesc= new ArrayList<String>();
- List<PREFIXLIST> prefixListData = prefixListDao.getPREFIXLISTData();
- for (int i = 0; i< prefixListData.size(); i++) {
- PREFIXLIST prefixList = prefixListData.get(i);
- if (prefixList.getPrefixListName().equals(expandableList)) {
- value = prefixList.getPrefixListValue();
- valueDesc.add(value);
- desc= prefixList.getDescription();
- valueDesc.add(desc);
- break;
- }
- }
- return valueDesc;
- }
-
- private ServiceList mappingServiceList(String expandableList) {
- ServiceList serviceList=null;
- List<ServiceList> serviceListData = serviceListDao.getServiceListData();
- for (int i = 0; i< serviceListData.size(); i++) {
- serviceList = serviceListData.get(i);
- if (serviceList.getServiceName().equals(expandableList)) {
- break;
- }
- }
- return serviceList;
- }
-
- private GroupServiceList mappingServiceGroup(String expandableList) {
-
- GroupServiceList serviceGroup=null;
- List<GroupServiceList> serviceGroupData = serviceGroupDao.getGroupServiceListData();
- for (int i = 0; i< serviceGroupData.size(); i++) {
- serviceGroup = serviceGroupData.get(i);
- if (serviceGroup.getGroupName().equals(expandableList)) {
- break;
- }
- }
- return serviceGroup;
- }
-
- private AddressGroup mappingAddressGroup(String expandableList) {
-
- AddressGroup addressGroup=null;
- List<AddressGroup> addressGroupData = addressGroupDao.getAddressGroupData();
- for (int i = 0; i< addressGroupData.size(); i++) {
- addressGroup = addressGroupData.get(i);
- if (addressGroup.getGroupName().equals(expandableList)) {
- break;
- }
- }
- return addressGroup;
- }
-
- public void PrePopulateFWPolicyData(PolicyAdapter policyAdapter) {
- attributeList = new ArrayList<Object>();
- fwAttributeList = new ArrayList<Object>();
- if (policyAdapter.getPolicyData() instanceof PolicyType) {
- Object policyData = policyAdapter.getPolicyData();
- PolicyType policy = (PolicyType) policyData;
- // policy name value is the policy name without any prefix and Extensions.
- policyAdapter.setOldPolicyFileName(policyAdapter.getPolicyName());
- String policyNameValue = policyAdapter.getPolicyName().substring(policyAdapter.getPolicyName().indexOf("FW_") +3, policyAdapter.getPolicyName().lastIndexOf("."));
- if (logger.isDebugEnabled()) {
- logger.debug("Prepopulating form data for Config Policy selected:"+ policyAdapter.getPolicyName());
- }
- policyAdapter.setPolicyName(policyNameValue);
- String description = "";
- try{
- description = policy.getDescription().substring(0, policy.getDescription().indexOf("@CreatedBy:"));
- }catch(Exception e){
- description = policy.getDescription();
- }
- policyAdapter.setPolicyDescription(description);
-
- ObjectMapper mapper = new ObjectMapper();
-
- TermCollector tc1=null;
- BufferedReader br=null;
- try {
- //Json conversion.
- String data=null;
- SecurityZone jpaSecurityZone;
- File file = new File(PolicyController.getConfigHome()+ File.separator+ policyAdapter.getDirPath().replace(File.separator, ".")+"."+ policyAdapter.getOldPolicyFileName() +".json");
- // Get data from this file using a file reader.
- FileReader fr = new FileReader(file);
- // To store the contents read via File Reader
- br = new BufferedReader(fr);
- // Read br and store a line in 'data', print data
- data = br.readLine();
- tc1 = (TermCollector)mapper.readValue(data, TermCollector.class);
- List<SecurityZone> securityZoneData = securityZoneDao.getSecurityZoneData();
- for (int i = 0; i < securityZoneData.size() ; i++) {
- jpaSecurityZone = securityZoneData.get(i);
- if (jpaSecurityZone.getZoneValue().equals(tc1.getSecurityZoneId())){
- policyAdapter.setSecurityZone(jpaSecurityZone.getZoneName());
- break;
- }
- }
- if(tc1.getPrimaryParentZoneId()!=null)//Child policy
- {
- policyAdapter.setFwPolicyType("Child Policy");
-
- String pathName=policyAdapter.getParentPath().toString();
- String scope= pathName.substring(pathName.lastIndexOf(File.separator)+1);
- String fullPathName=scope+".Config_FW_"+policyNameValue;
-
- String query= "select parent from FWChildToParent where child='";
- query=query+fullPathName+"'";
-
- List<String> parentName=queryToDatabase(query);
- policyAdapter.setParentForChild(parentName.get(0));
-
- }
- else{//Parent Policy
- policyAdapter.setFwPolicyType("Parent Policy");
- //Retrieving the Dictionary combo list.
- String desc = policy.getDescription();
- String descripComboList = desc.substring(desc.indexOf("@comboList:")+11,desc.length()) ;
- Map<String, String> parentMap = new HashMap<String, String>();
- for(String value : descripComboList.split(",")){
- parentMap.put("option", value);
- fwAttributeList.add(parentMap);
- }
- policyAdapter.setFwattributes(fwAttributeList);
- }
- }
- catch(Exception e) {
- logger.error("Exception Caused while Retriving the JSON body data" +e);
- }
- finally {
- try {
- if (br != null)br.close();
- } catch (IOException ex) {
- ex.printStackTrace();
- }
- }
-
- for (Term t : tc1.getFirewallRuleList()) {
- Map<String, String> termMap = new HashMap<String, String>();
- termMap.put("option", t.getRuleName());
- attributeList.add(termMap);
- }
- policyAdapter.setAttributes(attributeList);
- // Get the target data under policy.
- TargetType target = policy.getTarget();
- if (target != null) {
- // Under target we have AnyOFType
- List<AnyOfType> anyOfList = target.getAnyOf();
- if (anyOfList != null) {
- int index = 0;
- Iterator<AnyOfType> iterAnyOf = anyOfList.iterator();
- while (iterAnyOf.hasNext()) {
- AnyOfType anyOf = iterAnyOf.next();
- // Under AnyOFType we have AllOFType
- List<AllOfType> allOfList = anyOf.getAllOf();
- if (allOfList != null) {
- Iterator<AllOfType> iterAllOf = allOfList.iterator();
- while (iterAllOf.hasNext()) {
- AllOfType allOf = iterAllOf.next();
- // Under AllOFType we have Match
- List<MatchType> matchList = allOf.getMatch();
- if (matchList != null) {
-
- Iterator<MatchType> iterMatch = matchList.iterator();
- while (iterMatch.hasNext()) {
- MatchType match = iterMatch.next();
- //
- // Under the match we have attribute value and
- // attributeDesignator. So,finally down to the actual attribute.
- //
- AttributeValueType attributeValue = match.getAttributeValue();
- String value = (String) attributeValue.getContent().get(0);
- if (index == 1) {
- policyAdapter.setConfigName(value);
- }
- if (index == 2){
- policyAdapter.setRiskType(value);
- }
-
- if (index == 3){
- policyAdapter.setRiskLevel(value);
- }
-
- if (index == 4){
- policyAdapter.setGuard(value);
- }
- if (index == 5 && !value.contains("NA")){
- String newDate = convertDate(value, true);
- policyAdapter.setTtlDate(newDate);
- }
- index++;
- }
- }
- }
- }
- }
- }
- }
- }
- }
-
- private String convertDate(String dateTTL, boolean portalType) {
- String formateDate = null;
- String[] date;
- String[] parts;
-
- if (portalType){
- parts = dateTTL.split("-");
- formateDate = parts[2] + "-" + parts[1] + "-" + parts[0] + "T05:00:00.000Z";
- } else {
- date = dateTTL.split("T");
- parts = date[0].split("-");
- formateDate = parts[2] + "-" + parts[1] + "-" + parts[0];
- }
- return formateDate;
- }
-
- @RequestMapping(value={"/policyController/ViewFWPolicyRule.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView setFWViewRule(HttpServletRequest request, HttpServletResponse response) throws Exception{
- try {
- termCollectorList = new ArrayList<String>();
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- PolicyAdapter policyData = (PolicyAdapter)mapper.readValue(root.get("policyData").toString(), PolicyAdapter.class);
- if(policyData.getAttributes().size() > 0){
- for(Object attribute : policyData.getAttributes()){
- if(attribute instanceof LinkedHashMap<?, ?>){
- String key = ((LinkedHashMap<?, ?>) attribute).get("option").toString();
- termCollectorList.add(key);
- }
- }
- }
- TermList jpaTermList;
- String ruleSrcList=null;
- String ruleDestList=null;
- String ruleSrcPort=null;
- String ruleDestPort=null;
- String ruleAction=null;
- List <String> valueDesc= new ArrayList<String>();
- StringBuffer displayString = new StringBuffer();
- for (String id : termCollectorList) {
- jpaTermList = termListDao.getTermListValueByName(id);
- if (jpaTermList != null){
- ruleSrcList= ((TermList) jpaTermList).getSrcIPList();
- if ((ruleSrcList!= null) && (!ruleSrcList.isEmpty()) && !ruleSrcList.equals("null")){
- displayString.append("Source IP List: " + ((TermList) jpaTermList).getSrcIPList());
- displayString.append(" ; \t\n");
- for(String srcList:ruleSrcList.split(",")){
- if(srcList.startsWith("Group_")){
- AddressGroup ag= new AddressGroup();
- ag= mappingAddressGroup(srcList);
- displayString.append("\n\t"+"Group has :"+ag.getPrefixList()+"\n");
- for(String groupItems:ag.getPrefixList().split(",")){
- valueDesc=mapping(groupItems);
- displayString.append("\n\t"+"Name: "+groupItems);
- if(!valueDesc.isEmpty()){
- displayString.append("\n\t"+"Description: "+valueDesc.get(1));
- displayString.append("\n\t"+"Value: "+valueDesc.get(0));
- }
- displayString.append("\n");
- }
- }else{
- if(!srcList.equals("ANY")){
- valueDesc=mapping(srcList);
- displayString.append("\n\t"+"Name: "+srcList);
- displayString.append("\n\t"+"Description: "+valueDesc.get(1));
- displayString.append("\n\t"+"Value: "+valueDesc.get(0));
- displayString.append("\n");
- }
- }
- }
- displayString.append("\n");
- }
- ruleDestList= ((TermList) jpaTermList).getDestIPList();
- if ( ruleDestList!= null && (!ruleDestList.isEmpty())&& !ruleDestList.equals("null")){
- displayString.append("Destination IP List: " + ((TermList) jpaTermList).getDestIPList());
- displayString.append(" ; \t\n");
- for(String destList:ruleDestList.split(",")){
- if(destList.startsWith("Group_")){
- AddressGroup ag= new AddressGroup();
- ag= mappingAddressGroup(destList);
- displayString.append("\n\t"+"Group has :"+ag.getPrefixList()+"\n");
- for(String groupItems:ag.getPrefixList().split(",")){
- valueDesc=mapping(groupItems);
- displayString.append("\n\t"+"Name: "+groupItems);
- displayString.append("\n\t"+"Description: "+valueDesc.get(1));
- displayString.append("\n\t"+"Value: "+valueDesc.get(0));
- displayString.append("\n\t");
- }
- }else{
- if(!destList.equals("ANY")){
- valueDesc=mapping(destList);
- displayString.append("\n\t"+"Name: "+destList);
- displayString.append("\n\t"+"Description: "+valueDesc.get(1));
- displayString.append("\n\t"+"Value: "+valueDesc.get(0));
- displayString.append("\n\t");
- }
- }
- }
- displayString.append("\n");
- }
-
- ruleSrcPort=((TermList) jpaTermList).getSrcPortList();
- if ( ruleSrcPort!= null && (!ruleSrcPort.isEmpty())&& !ruleSrcPort.equals("null")) {
- displayString.append("\n"+"Source Port List:"
- + ruleSrcPort);
- displayString.append(" ; \t\n");
- }
-
- ruleDestPort= ((TermList) jpaTermList).getDestPortList();
- if (ruleDestPort != null && (!ruleDestPort.isEmpty())&& !ruleDestPort.equals("null")) {
- displayString.append("\n"+"Destination Port List:"
- + ruleDestPort);
- displayString.append(" ; \t\n");
- for(String destServices:ruleDestPort.split(",")){
- if(destServices.startsWith("Group_")){
- GroupServiceList sg= new GroupServiceList();
- sg= mappingServiceGroup(destServices);
- displayString.append("\n\t"+"Service Group has :"+sg.getServiceList()+"\n");
- for(String groupItems:sg.getServiceList().split(",")){
- ServiceList sl= new ServiceList();
- sl= mappingServiceList(groupItems);
- displayString.append("\n\t"+"Name: "+
- sl.getServiceName());
- displayString.append("\n\t"+"Description: "+
- sl.getServiceDescription());
- displayString.append("\n\t"+"Transport-Protocol: "+
- sl.getServiceTransProtocol());
- displayString.append("\n\t"+"Ports: "+
- sl.getServicePorts());
- displayString.append("\n");
- }
- }
- else{
- if(!destServices.equals("ANY")){
- ServiceList sl= new ServiceList();
- sl= mappingServiceList(destServices);
- displayString.append("\n\t"+"Name: "+
- sl.getServiceName());
- displayString.append("\n\t"+"Description: "+
- sl.getServiceDescription());
- displayString.append("\n\t"+"Transport-Protocol: "+
- sl.getServiceTransProtocol());
- displayString.append("\n\t"+"Ports: "+
- sl.getServicePorts());
- displayString.append("\n");
- }
- }
- }
- displayString.append("\n");
- }
-
- ruleAction=(jpaTermList).getAction();
- if ( ruleAction!= null && (!ruleAction.isEmpty())) {
- displayString.append("\n"+"Action List:"
- + ruleAction);
- displayString.append(" ; \t\n");
- }
- }
- }
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
- String responseString = mapper.writeValueAsString(displayString);
- JSONObject j = new JSONObject("{policyData: " + responseString + "}");
- out.write(j.toString());
- return null;
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
- }
- return null;
- }
-
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreatePolicyController.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreatePolicyController.java
deleted file mode 100644
index f5c0a576c..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/CreatePolicyController.java
+++ /dev/null
@@ -1,484 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.controller;
-
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-//import org.apache.commons.logging.Log;
-//import org.apache.commons.logging.LogFactory;
-import org.json.JSONObject;
-import org.openecomp.policy.adapter.PolicyAdapter;
-import org.openecomp.policy.admin.PolicyNotificationMail;
-import org.openecomp.policy.admin.RESTfulPAPEngine;
-import org.openecomp.policy.dao.PolicyVersionDao;
-import org.openecomp.policy.dao.RuleAlgorithmsDao;
-import org.openecomp.policy.dao.WatchPolicyNotificationDao;
-import org.openecomp.policy.elk.client.PolicyElasticSearchController;
-import org.openecomp.policy.rest.jpa.PolicyVersion;
-import org.openecomp.policy.rest.jpa.RuleAlgorithms;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
-import org.openecomp.portalsdk.core.web.support.JsonMessage;
-import org.openecomp.portalsdk.core.web.support.UserUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-import com.att.research.xacml.api.XACML3;
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import org.openecomp.policy.xacml.util.XACMLPolicyScanner;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.base.Joiner;
-
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeDesignatorType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.RuleType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType;
-
-@Controller
-@RequestMapping("/")
-public class CreatePolicyController extends RestrictedBaseController{
- private static Logger logger = FlexLogger.getLogger(CreatePolicyController.class);
-
- private static RuleAlgorithmsDao ruleAlgorithmsDao;
- private static PolicyVersionDao policyVersionDao;
- private static WatchPolicyNotificationDao policyNotificationDao;
-
- @Autowired
- private CreatePolicyController(RuleAlgorithmsDao ruleAlgorithmsDao, PolicyVersionDao policyVersionDao, WatchPolicyNotificationDao policyNotificationDao){
- CreatePolicyController.policyVersionDao = policyVersionDao;
- CreatePolicyController.ruleAlgorithmsDao = ruleAlgorithmsDao;
- CreatePolicyController.policyNotificationDao = policyNotificationDao;
- }
-
- public CreatePolicyController(){}
-
- protected PolicyAdapter policyAdapter = null;
- private String ruleID = "";
- private ArrayList<Object> attributeList;
- boolean isValidForm = false;
- private int riskLevelCount;
-
- public String newPolicyID() {
- return Joiner.on(':').skipNulls().join((PolicyController.getDomain().startsWith("urn") ? null: "urn"),
- PolicyController.getDomain().replaceAll("[/\\\\.]", ":"), "xacml", "policy", "id", UUID.randomUUID());
- }
-
- @RequestMapping(value={"/get_RiskLevelValues"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE)
- public void getRiskLevelValuesData(HttpServletRequest request, HttpServletResponse response){
- try{
- Map<String, Object> model = new HashMap<String, Object>();
- ObjectMapper mapper = new ObjectMapper();
- List<String> riskLevelList = new ArrayList<String>();
- riskLevelCount = 5;
- for (int i = 1; i <= riskLevelCount; i++) {
- riskLevelList.add(String.valueOf(i));
- }
- model.put("riskLevelDatas", mapper.writeValueAsString(riskLevelList));
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(model));
- JSONObject j = new JSONObject(msg);
- response.getWriter().write(j.toString());
- }
- catch (Exception e){
- e.printStackTrace();
- }
- }
-
- @RequestMapping(value={"/get_GuardlValues"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE)
- public void getGuardValuesData(HttpServletRequest request, HttpServletResponse response){
- try{
- Map<String, Object> model = new HashMap<String, Object>();
- ObjectMapper mapper = new ObjectMapper();
- List<String> guardList = new ArrayList<String>();
- guardList.add("True");
- guardList.add("False");
- model.put("guardDatas", mapper.writeValueAsString(guardList));
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(model));
- JSONObject j = new JSONObject(msg);
- response.getWriter().write(j.toString());
- }
- catch (Exception e){
- e.printStackTrace();
- }
- }
-
-
- @RequestMapping(value={"/policyController/save_policy.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView savePolicy(HttpServletRequest request, HttpServletResponse response) throws Exception{
- try {
- String userId = UserUtils.getUserIdFromCookie(request);
- RESTfulPAPEngine engine = (RESTfulPAPEngine) PolicyController.getPapEngine();
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- PolicyAdapter policyData = (PolicyAdapter)mapper.readValue(root.get("policyData").get("policy").toString(), PolicyAdapter.class);
- policyData.setDomainDir(root.get("policyData").get("model").get("name").toString().replace("\"", ""));
- if(root.get("policyData").get("model").get("type").toString().replace("\"", "").equals("file")){
- policyData.isEditPolicy = true;
- }
-
- if (policyData.getTtlDate()==null){
- policyData.setTtlDate("NA");
- }else{
- String dateTTL = policyData.getTtlDate();
- String newDate = convertDate(dateTTL, false);
- policyData.setTtlDate(newDate);
- }
-
- if(root.get("policyData").get("model").get("path").size() != 0){
- String dirName = "";
- for(int i = 0; i < root.get("policyData").get("model").get("path").size(); i++){
- dirName = dirName.replace("\"", "") + root.get("policyData").get("model").get("path").get(i).toString().replace("\"", "") + File.separator;
- }
- policyData.setDomainDir(dirName.substring(0, dirName.lastIndexOf(File.separator)));
- }else{
- policyData.setDomainDir(root.get("policyData").get("model").get("name").toString().replace("\"", ""));
- }
-
- int version = 0;
- int highestVersion = 0;
- int descriptionVersion = 0;
- //get the highest version of policy from policy version table.
- //getting the sub scope domain where the policy is created or updated
- String dbCheckPolicyName = policyData.getDomainDir() + File.separator + "Config_" + policyData.getPolicyName();
- List<PolicyVersion> policyVersionlist = policyVersionDao.getPolicyVersionEntityByName(dbCheckPolicyName);
- if (policyVersionlist.size() > 0) {
- for(int i = 0; i < policyVersionlist.size(); i++) {
- PolicyVersion entityItem = policyVersionlist.get(i);
- if(entityItem.getPolicyName().equals(dbCheckPolicyName)){
- highestVersion = entityItem.getHigherVersion();
- }
- }
- }
- if(highestVersion != 0){
- version = highestVersion;
- descriptionVersion = highestVersion +1;
- }else{
- version = 1;
- descriptionVersion = 1;
- }
-
- //set policy adapter values for Building JSON object containing policy data
- String createdBy = "";
- String modifiedBy = userId;
- if(descriptionVersion == 1){
- createdBy = userId;
- }else{
- String policyName = PolicyController.getGitPath().toAbsolutePath().toString() + File.separator + policyData.getDomainDir() + File.separator + policyData.getOldPolicyFileName() + ".xml";
- File policyPath = new File(policyName);
- try {
- createdBy = XACMLPolicyScanner.getCreatedBy(policyPath.toPath());
- } catch (IOException e) {
- createdBy = "guest";
- }
- }
-
- policyData.setPolicyDescription(policyData.getPolicyDescription()+ "@CreatedBy:" +createdBy + "@CreatedBy:" + "@ModifiedBy:" +modifiedBy + "@ModifiedBy:");
-
- Map<String, String> successMap = new HashMap<String, String>();
- Map<String, String> attributeMap = new HashMap<String, String>();
- //set the Rule Combining Algorithm Id to be sent to PAP-REST via JSON
- List<RuleAlgorithms> ruleAlgorithmList = ruleAlgorithmsDao.getRuleAlgorithms();
- for (int i = 0; i < ruleAlgorithmList.size(); i++) {
- RuleAlgorithms a = ruleAlgorithmList.get(i);
- if (a.getXacmlId().equals(XACML3.ID_RULE_PERMIT_OVERRIDES.stringValue())) {
- policyData.setRuleCombiningAlgId(a.getXacmlId());
- break;
- }
- }
-
- if(policyData.getAttributes().size() > 0){
- for(Object attribute : policyData.getAttributes()){
- if(attribute instanceof LinkedHashMap<?, ?>){
- String key = ((LinkedHashMap<?, ?>) attribute).get("option").toString();
- String value = ((LinkedHashMap<?, ?>) attribute).get("number").toString();
- attributeMap.put(key, value);
- }
- }
- }
- policyData.setDynamicFieldConfigAttributes(attributeMap);
-
- if (policyData.isEditPolicy()){
- //increment the version and set in policyAdapter
- policyData.setVersion(String.valueOf(version));
- policyData.setHighestVersion(version);
- policyData.setPolicyID(this.newPolicyID());
- policyData.setRuleID(ruleID);
- successMap = engine.updatePolicyRequest(policyData);
- } else {
- //send it for policy creation
- policyData.setVersion(String.valueOf(version));
- policyData.setHighestVersion(version);
- successMap = engine.createPolicyRequest(policyData);
-
- }
-
- if (successMap.containsKey("success")) {
- // Add it into our tree
- Path finalPolicyPath = null;
- finalPolicyPath = Paths.get(successMap.get("success"));
- PolicyElasticSearchController controller = new PolicyElasticSearchController();
- controller.updateElk(finalPolicyPath.toString());
- File file = finalPolicyPath.toFile();
- if(file != null){
- String policyName = file.toString();
- String removePath = policyName.substring(policyName.indexOf("repository")+11);
- String removeXml = removePath.replace(".xml", "");
- String removeExtension = removeXml.substring(0, removeXml.indexOf("."));
- List<PolicyVersion> versionList = policyVersionDao.getPolicyVersionEntityByName(removeExtension);
- if (versionList.size() > 0) {
- for(int i = 0; i < versionList.size(); i++) {
- PolicyVersion entityItem = versionList.get(i);
- if(entityItem.getPolicyName().equals(removeExtension)){
- version = entityItem.getHigherVersion() +1;
- entityItem.setActiveVersion(version);
- entityItem.setHigherVersion(version);
- entityItem.setModifiedBy(userId);
- policyVersionDao.update(entityItem);
- if(policyData.isEditPolicy){
- PolicyNotificationMail email = new PolicyNotificationMail();
- String mode = "EditPolicy";
- String policyNameForEmail = policyData.getDomainDir() + File.separator + policyData.getOldPolicyFileName() + ".xml";
- email.sendMail(entityItem, policyNameForEmail, mode, policyNotificationDao);
- }
- }
- }
- }else{
- PolicyVersion entityItem = new PolicyVersion();
- entityItem.setActiveVersion(version);
- entityItem.setHigherVersion(version);
- entityItem.setPolicyName(removeExtension);
- entityItem.setCreatedBy(userId);
- entityItem.setModifiedBy(userId);
- policyVersionDao.Save(entityItem);
- }
- }
- }
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
- String responseString = mapper.writeValueAsString(successMap);
- JSONObject j = new JSONObject("{policyData: " + responseString + "}");
- out.write(j.toString());
- return null;
- }
- catch (Exception e){
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
- out.write(e.getMessage());
- }
- return null;
- }
-
- private String convertDate(String dateTTL, boolean portalType) {
- String formateDate = null;
- String[] date;
- String[] parts;
-
- if (portalType){
- parts = dateTTL.split("-");
- formateDate = parts[2] + "-" + parts[1] + "-" + parts[0] + "T05:00:00.000Z";
- } else {
- date = dateTTL.split("T");
- parts = date[0].split("-");
- formateDate = parts[2] + "-" + parts[1] + "-" + parts[0];
- }
- return formateDate;
- }
-
- public void PrePopulateBaseConfigPolicyData(PolicyAdapter policyAdapter) {
- attributeList = new ArrayList<Object>();
- if (policyAdapter.getPolicyData() instanceof PolicyType) {
- Object policyData = policyAdapter.getPolicyData();
- PolicyType policy = (PolicyType) policyData;
- policyAdapter.setOldPolicyFileName(policyAdapter.getPolicyName());
- policyAdapter.setConfigBodyData(readBaseConfigJSONFile(policyAdapter));
- String policyNameValue = policyAdapter.getPolicyName().substring(policyAdapter.getPolicyName().indexOf("_") + 1 , policyAdapter.getPolicyName().lastIndexOf("."));
- policyAdapter.setPolicyName(policyNameValue);
- String description = "";
- try{
- description = policy.getDescription().substring(0, policy.getDescription().indexOf("@CreatedBy:"));
- }catch(Exception e){
- description = policy.getDescription();
- }
- policyAdapter.setPolicyDescription(description);
- // Get the target data under policy.
- TargetType target = policy.getTarget();
- if (target != null) {
- // Under target we have AnyOFType
- List<AnyOfType> anyOfList = target.getAnyOf();
- if (anyOfList != null) {
- Iterator<AnyOfType> iterAnyOf = anyOfList.iterator();
- while (iterAnyOf.hasNext()) {
- AnyOfType anyOf = iterAnyOf.next();
- // Under AnyOFType we have AllOFType
- List<AllOfType> allOfList = anyOf.getAllOf();
- if (allOfList != null) {
- Iterator<AllOfType> iterAllOf = allOfList.iterator();
- int index = 0;
- while (iterAllOf.hasNext()) {
- AllOfType allOf = iterAllOf.next();
- // Under AllOFType we have Match
- List<MatchType> matchList = allOf.getMatch();
- if (matchList != null) {
- Iterator<MatchType> iterMatch = matchList.iterator();
- while (iterMatch.hasNext()) {
- MatchType match = iterMatch.next();
- //
- // Under the match we have attributevalue and
- // attributeDesignator. So,finally down to the actual attribute.
- //
- AttributeValueType attributeValue = match.getAttributeValue();
- String value = (String) attributeValue.getContent().get(0);
- AttributeDesignatorType designator = match.getAttributeDesignator();
- String attributeId = designator.getAttributeId();
- // First match in the target is EcompName, so set that value.
- if (index == 1) {
- policyAdapter.setEcompName(value);
- }
- if (index == 2){
- policyAdapter.setRiskType(value);
- }
-
- if (index == 3){
- policyAdapter.setRiskLevel(value);
- }
-
- if (index == 4){
- policyAdapter.setGuard(value);
- }
- if (index == 5 && !value.contains("NA")){
- String newDate = convertDate(value, true);
- policyAdapter.setTtlDate(newDate);
- }
- if (index == 6){
- policyAdapter.setConfigName(value);
- }
- // After Ecomp and Config it is optional to have attributes, so
- // check weather dynamic values or there or not.
- if (index >= 7) {
- Map<String, String> attribute = new HashMap<String, String>();
- attribute.put("option", attributeId);
- attribute.put("number", value);
- attributeList.add(attribute);
- }
- index++;
- }
- }
- }
- }
- }
- }
-
- policyAdapter.setAttributes(attributeList);
- }
- List<Object> ruleList = policy.getCombinerParametersOrRuleCombinerParametersOrVariableDefinition();
- for (Object o : ruleList) {
- if (o instanceof RuleType) {
- // get the condition data under the rule for rule Algorithms.
- policyAdapter.setRuleID(((RuleType) o).getRuleId());
- }
- }
- }
- }
-
- private String readBaseConfigJSONFile(PolicyAdapter policyAdapter) {
- String fileName = policyAdapter.getPolicyName();
- String fileLocation = null;
- if (fileName != null && fileName.contains("Config")) {
- fileLocation = PolicyController.getConfigHome();
- }
- if (logger.isDebugEnabled()) {
- logger.debug("Attempting to read file from the location: " + fileLocation);
- }
-
- if (fileLocation == null) {
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE + "Error with the FileName: " + fileName);
- return fileLocation;
- }
-
-
- File dir = new File(fileLocation);
- File[] listOfFiles = dir.listFiles();
- String extension = null;
- for (File file : listOfFiles) {
- if (file.isFile() && file.getName().contains(fileName)) {
- // For config form we have set the ConfigType Based on the extention.
- if (fileName.contains("Config")) {
- extension = file.getName().substring(file.getName().lastIndexOf('.') + 1);
- // Based on file type set Combobox config value
- if (extension.equals("txt")) {
- policyAdapter.setConfigType("OTHER");
- } else {
- policyAdapter.setConfigType(extension.toUpperCase());
- }
- }
- // Reading the file
- try (BufferedReader br = new BufferedReader(new FileReader(file))) {
- StringBuilder sb = new StringBuilder();
- String line = br.readLine();
- while (line != null) {
- sb.append(line);
- sb.append("\n");
- line = br.readLine();
- }
- return sb.toString();
- } catch (FileNotFoundException e) {
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE + e.getMessage());
- } catch (IOException e1) {
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE + e1.getMessage());
- }
- }
- }
- return null;
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/DashboardController.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/DashboardController.java
deleted file mode 100644
index 301c824f0..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/DashboardController.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.controller;
-
-
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.management.AttributeNotFoundException;
-import javax.management.InstanceNotFoundException;
-import javax.management.MBeanException;
-import javax.management.MalformedObjectNameException;
-import javax.management.ObjectName;
-import javax.management.ReflectionException;
-import javax.management.remote.JMXConnector;
-import javax.management.remote.JMXConnectorFactory;
-import javax.management.remote.JMXServiceURL;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-//import org.apache.commons.logging.Log;
-//import org.apache.commons.logging.LogFactory;
-import org.json.JSONObject;
-import org.openecomp.policy.dao.SystemLogDbDao;
-import org.openecomp.policy.model.PDPGroupContainer;
-import org.openecomp.policy.rest.XACMLRestProperties;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
-import org.openecomp.portalsdk.core.web.support.JsonMessage;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import org.openecomp.policy.xacml.api.pap.EcompPDP;
-import org.openecomp.policy.xacml.api.pap.EcompPDPGroup;
-
-import com.att.research.xacml.api.pap.PAPException;
-import com.att.research.xacml.api.pap.PDP;
-import com.att.research.xacml.api.pap.PDPGroup;
-import com.att.research.xacml.api.pap.PDPPolicy;
-import com.att.research.xacml.util.XACMLProperties;
-import com.fasterxml.jackson.annotation.PropertyAccessor;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-@Controller
-@RequestMapping({"/"})
-public class DashboardController extends RestrictedBaseController{
- private static final Logger logger = FlexLogger.getLogger(DashboardController.class);
- @Autowired
- SystemLogDbDao systemDAO;
-
- private int pdpCount;
- private PDPGroupContainer pdpConatiner;
- private ArrayList<Object> pdpStatusData;
- private ArrayList<Object> papStatusData;
- private ArrayList<Object> policyActivityData;
-
-
-
- @RequestMapping(value={"/get_DashboardLoggingData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE)
- public void getData(HttpServletRequest request, HttpServletResponse response){
- try{
- Map<String, Object> model = new HashMap<String, Object>();
- ObjectMapper mapper = new ObjectMapper();
- model.put("availableLoggingDatas", mapper.writeValueAsString(systemDAO.getLoggingData()));
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(model));
- JSONObject j = new JSONObject(msg);
- response.getWriter().write(j.toString());
- }
- catch (Exception e){
- e.printStackTrace();
- }
- }
-
- @RequestMapping(value={"/get_DashboardSystemAlertData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE)
- public void getSystemAlertData(HttpServletRequest request, HttpServletResponse response){
- try{
- Map<String, Object> model = new HashMap<String, Object>();
- ObjectMapper mapper = new ObjectMapper();
- model.put("systemAlertsTableDatas", mapper.writeValueAsString(systemDAO.getSystemAlertData()));
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(model));
- JSONObject j = new JSONObject(msg);
- response.getWriter().write(j.toString());
- }
- catch (Exception e){
- e.printStackTrace();
- }
- }
-
- @RequestMapping(value={"/get_DashboardPAPStatusData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE)
- public void getPAPStatusData(HttpServletRequest request, HttpServletResponse response){
- try{
- Map<String, Object> model = new HashMap<String, Object>();
- ObjectMapper mapper = new ObjectMapper();
- mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
- addPAPToTable();
- model.put("papTableDatas", mapper.writeValueAsString(papStatusData));
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(model));
- JSONObject j = new JSONObject(msg);
- response.getWriter().write(j.toString());
- }
- catch (Exception e){
- e.printStackTrace();
- }
- }
-
- @RequestMapping(value={"/get_DashboardPDPStatusData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE)
- public void getPDPStatusData(HttpServletRequest request, HttpServletResponse response){
- try{
- Map<String, Object> model = new HashMap<String, Object>();
- ObjectMapper mapper = new ObjectMapper();
- mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
- this.pdpConatiner = new PDPGroupContainer(PolicyController.getPapEngine());
- addPDPToTable();
- model.put("pdpTableDatas", mapper.writeValueAsString(pdpStatusData));
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(model));
- JSONObject j = new JSONObject(msg);
- response.getWriter().write(j.toString());
- }
- catch (Exception e){
- e.printStackTrace();
- }
- }
-
- @RequestMapping(value={"/get_DashboardPolicyActivityData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE)
- public void getPolicyActivityData(HttpServletRequest request, HttpServletResponse response){
- try{
- Map<String, Object> model = new HashMap<String, Object>();
- ObjectMapper mapper = new ObjectMapper();
- mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
- this.pdpConatiner = new PDPGroupContainer(PolicyController.getPapEngine());
- addPolicyToTable();
- model.put("policyActivityTableDatas", mapper.writeValueAsString(policyActivityData));
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(model));
- JSONObject j = new JSONObject(msg);
- response.getWriter().write(j.toString());
- }
- catch (Exception e){
- e.printStackTrace();
- }
- }
-
- /*
- * Add the PAP information to the PAP Table
- */
- public void addPAPToTable(){
- papStatusData = new ArrayList<Object>();
- File folder = new File(PolicyController.getGitPath().toAbsolutePath().toString());
- String papStatus = null;
- try {
- Set<EcompPDPGroup> groups = PolicyController.getPapEngine().getEcompPDPGroups();
- if (groups == null) {
- papStatus = "UNKNOWN";
- throw new PAPException("PAP not running");
- }else {
- papStatus = "IS_OK";
- }
- } catch (PAPException | NullPointerException e1) {
- papStatus = "CANNOT_CONNECT";
- logger.error("Error getting PAP status, PAP not responding to requests");
- }
- String papURL = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_URL);
- JSONObject object = new JSONObject();
- object.put("system", papURL);
- object.put("status", papStatus);
- object.put("noOfPolicy", countFilesInDirectory(folder));
- object.put("noOfConnectedTrap", pdpCount);
- papStatusData.add(0, object);
- }
-
- private int countFilesInDirectory(File directory) {
- int count = 0;
- for (File file : directory.listFiles()) {
- if (file.isFile() && file.getName().endsWith(".xml")) {
- count++;
- }
- if (file.isDirectory()) {
- count += countFilesInDirectory(file);
- }
- }
- return count;
- }
- /**
- * Add PDP Information to the PDP Table
- *
- */
- public void addPDPToTable(){
- pdpCount = 0;
- pdpStatusData = new ArrayList<Object>();
- long naCount;
- long denyCount = 0;
- long permitCount = 0;
- for (PDPGroup group : this.pdpConatiner.getGroups()){
- for (PDP pdp : group.getPdps()){
- naCount = -1;
- if (pdp.getStatus().getStatus().toString() == "UP_TO_DATE" && ((EcompPDP) pdp).getJmxPort() != 0){
- String pdpIpAddress = parseIPSystem(pdp.getId());
- int port = ((EcompPDP) pdp).getJmxPort();
- if (port != 0)
- logger.debug("Getting JMX Response Counts from " + pdpIpAddress + " at JMX port " + port);
- naCount = getRequestCounts(pdpIpAddress, port, "pdpEvaluationNA");
- permitCount = getRequestCounts(pdpIpAddress, port, "PdpEvaluationPermit");
- denyCount = getRequestCounts(pdpIpAddress, port, "PdpEvaluationDeny");
- }
- if (naCount == -1){
- JSONObject object = new JSONObject();
- object.put("id", pdp.getId());
- object.put("name", pdp.getName());
- object.put("groupname", group.getName());
- object.put("status", pdp.getStatus().getStatus().toString());
- object.put("description", pdp.getDescription());
- object.put("permitCount", "NA");
- object.put("denyCount", "NA");
- object.put("naCount", "NA");
- pdpStatusData.add(object);
- }else{
- JSONObject object = new JSONObject();
- object.put("id", pdp.getId());
- object.put("name", pdp.getName());
- object.put("groupname", group.getName());
- object.put("status", pdp.getStatus().getStatus().toString());
- object.put("description", pdp.getDescription());
- object.put("permitCount", permitCount);
- object.put("denyCount", denyCount);
- object.put("naCount", naCount);
- pdpStatusData.add(object);
- }
- pdpCount++;
- }
- }
- }
-
- private static String parseIPSystem(String line) {
- Pattern pattern = Pattern.compile("://(.+?):");
- Matcher ip = pattern.matcher(line);
- if (ip.find())
- {
- return ip.group(1);
- }
- return null;
- }
-
- /*
- * Contact JMX Connector Sever and return the value of the given jmxAttribute
- */
- @SuppressWarnings("rawtypes")
- private long getRequestCounts(String host, int port, String jmxAttribute) {
-
- logger.debug("Create an RMI connector client and connect it to the JMX connector server");
- HashMap map = new HashMap();
- map = null;
- JMXConnector jmxConnection;
- try {
- jmxConnection = JMXConnectorFactory.newJMXConnector(createConnectionURL(host, port), map);
- jmxConnection.connect();
- Object o = jmxConnection.getMBeanServerConnection().getAttribute(new ObjectName("PdpRest:type=PdpRestMonitor"), jmxAttribute);
- jmxConnection.close();
- logger.debug("pdpEvaluationNA value retreived: " + o);
- return (long) o;
- } catch (MalformedURLException e) {
- logger.error("MalformedURLException for JMX connection");
- } catch (IOException e) {
- logger.error("Error in reteriving" + jmxAttribute + " from JMX connection");
- } catch (AttributeNotFoundException e) {
- logger.error("AttributeNotFoundException " + jmxAttribute + " for JMX connection");
- } catch (InstanceNotFoundException e) {
- logger.error("InstanceNotFoundException " + host + " for JMX connection");
- } catch (MalformedObjectNameException e) {
- logger.error("MalformedObjectNameException for JMX connection");
- } catch (MBeanException e) {
- logger.error("MBeanException for JMX connection");
- e.printStackTrace();
- } catch (ReflectionException e) {
- logger.error("ReflectionException for JMX connection");
- }
-
- return -1;
- }
-
- private static JMXServiceURL createConnectionURL(String host, int port) throws MalformedURLException{
- return new JMXServiceURL("rmi", "", 0, "/jndi/rmi://" + host + ":" + port + "/jmxrmi");
- }
-
-
- /*
- * Add the information to the Policy Table
- */
- private void addPolicyToTable() {
- policyActivityData = new ArrayList<Object>();
- int i = 1;
- String policyID = null;
- int policyFireCount = 0;
- Map<String, String> policyMap = new HashMap<>();
- Object policyList = null;
- //get list of policy
-
- for (PDPGroup group : this.pdpConatiner.getGroups()){
- for (PDPPolicy policy : group.getPolicies()){
- try{
- policyMap.put(policy.getPolicyId().replace(" ", ""), policy.getId());
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_SCHEMA_INVALID+policy.getName() +e);
- }
- }
-
- for (PDP pdp : group.getPdps()){
- // Add rows to the Policy Table
- policyList = null;
- if (pdp.getStatus().getStatus().toString() == "UP_TO_DATE" && ((EcompPDP) pdp).getJmxPort() != 0){
- String pdpIpAddress = parseIPSystem(pdp.getId());
- policyList = getPolicy(pdpIpAddress, ((EcompPDP) pdp).getJmxPort(), "policyCount");
- }
- if (policyList != null && policyList.toString().length() > 3){
- String[] splitPolicy = policyList.toString().split(",");
- for (String policyKeyValue : splitPolicy){
- policyID = urnPolicyID(policyKeyValue);
- policyFireCount = countPolicyID(policyKeyValue);
- if (policyID != null ){
- if (policyMap.containsKey(policyID)){
- JSONObject object = new JSONObject();
- object.put("policyId", policyMap.get(policyID));
- object.put("fireCount", policyFireCount);
- object.put("system", pdp.getId());
- policyActivityData.add(i, object);
- i++;
- }
- }
- }
- }else {
- if (policyList != null){
- JSONObject object = new JSONObject();
- object.put("policyId", "Unable to retrieve policy information");
- object.put("fireCount", "NA");
- object.put("system", pdp.getId());
- policyActivityData.add(i, object);
- i++;
- }else{
- JSONObject object = new JSONObject();
- object.put("policyId", "Unable to access PDP JMX Server");
- object.put("fireCount", "NA");
- object.put("system", pdp.getId());
- policyActivityData.add(i, object);
- i++;
- }
- }
-
- }
- }
- }
-
- /*
- * Contact JMX Connector Sever and return the list of {policy id , count}
- */
- @SuppressWarnings("rawtypes")
- private Object getPolicy(String host, int port, String jmxAttribute){
- logger.debug("Create an RMI connector client and connect it to the JMX connector server for Policy: " + host);
- HashMap map = new HashMap();
- map = null;
- JMXConnector jmxConnection;
- try {
- jmxConnection = JMXConnectorFactory.newJMXConnector(createConnectionURL(host, port), map);
- jmxConnection.connect();
- Object o = jmxConnection.getMBeanServerConnection().getAttribute(new ObjectName("PdpRest:type=PdpRestMonitor"), "policyMap");
- jmxConnection.close();
- logger.debug("policyMap value retreived: " + o);
- return o;
- } catch (MalformedURLException e) {
- logger.error("MalformedURLException for JMX connection");
- } catch (IOException e) {
- logger.error("AttributeNotFoundException for policyMap" );
- } catch (AttributeNotFoundException e) {
- logger.error("AttributeNotFoundException for JMX connection");
- } catch (InstanceNotFoundException e) {
- logger.error("InstanceNotFoundException " + host + " for JMX connection");
- } catch (MalformedObjectNameException e) {
- logger.error("MalformedObjectNameException for JMX connection");
- } catch (MBeanException e) {
- logger.error("MBeanException for JMX connection");
- e.printStackTrace();
- } catch (ReflectionException e) {
- logger.error("ReflectionException for JMX connection");
- }
-
- return null;
-
- }
-
- private static String urnPolicyID(String line){
- String[] splitLine = line.toString().split("=");
- String removeSpaces = splitLine[0].replaceAll("\\s+", "");
- return removeSpaces.replace("{", "");
- }
-
- private static Integer countPolicyID(String line){
- String[] splitLine = line.toString().split("=");
- String sCount = splitLine[1].replace("}", "");
- int intCount = Integer.parseInt(sCount);
- return intCount;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/DecisionPolicyController.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/DecisionPolicyController.java
deleted file mode 100644
index 20cde7f43..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/DecisionPolicyController.java
+++ /dev/null
@@ -1,507 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.controller;
-
-
-import java.io.File;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.xml.bind.JAXBElement;
-
-import org.json.JSONObject;
-import org.openecomp.policy.adapter.PolicyAdapter;
-import org.openecomp.policy.admin.PolicyNotificationMail;
-import org.openecomp.policy.admin.RESTfulPAPEngine;
-import org.openecomp.policy.dao.PolicyVersionDao;
-import org.openecomp.policy.dao.RuleAlgorithmsDao;
-import org.openecomp.policy.dao.WatchPolicyNotificationDao;
-import org.openecomp.policy.elk.client.PolicyElasticSearchController;
-import org.openecomp.policy.rest.jpa.PolicyVersion;
-import org.openecomp.policy.rest.jpa.RuleAlgorithms;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
-import org.openecomp.portalsdk.core.web.support.UserUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-import com.att.research.xacml.api.XACML3;
-import org.openecomp.policy.xacml.util.XACMLPolicyScanner;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.base.Joiner;
-
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.ApplyType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeDesignatorType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.ConditionType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.EffectType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.RuleType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.VariableDefinitionType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.VariableReferenceType;
-
-@Controller
-@RequestMapping("/")
-public class DecisionPolicyController extends RestrictedBaseController {
- private static final Logger logger = FlexLogger.getLogger(DecisionPolicyController.class);
-
- private static RuleAlgorithmsDao ruleAlgorithmsDao;
- private static PolicyVersionDao policyVersionDao;
- private static WatchPolicyNotificationDao policyNotificationDao;
-
- @Autowired
- private DecisionPolicyController(RuleAlgorithmsDao ruleAlgorithmsDao, PolicyVersionDao policyVersionDao, WatchPolicyNotificationDao policyNotificationDao){
- DecisionPolicyController.policyVersionDao = policyVersionDao;
- DecisionPolicyController.ruleAlgorithmsDao = ruleAlgorithmsDao;
- DecisionPolicyController.policyNotificationDao = policyNotificationDao;
- }
-
- public DecisionPolicyController(){}
-
- protected PolicyAdapter policyAdapter = null;
- private static String ruleID = "";
- private ArrayList<Object> attributeList;
- private ArrayList<Object> decisionList;
- private ArrayList<Object> ruleAlgorithmList;
- protected LinkedList<Integer> ruleAlgoirthmTracker;
- public static final String FUNCTION_NOT = "urn:oasis:names:tc:xacml:1.0:function:not";
-
- public String newPolicyID() {
- return Joiner.on(':').skipNulls().join((PolicyController.getDomain().startsWith("urn") ? null: "urn"),
- PolicyController.getDomain().replaceAll("[/\\\\.]", ":"), "xacml", "policy", "id", UUID.randomUUID());
- }
-
- @RequestMapping(value={"/policyController/save_DecisionPolicy.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView saveDecisionPolicy(HttpServletRequest request, HttpServletResponse response) throws Exception{
- try {
- String userId = UserUtils.getUserIdFromCookie(request);
- RESTfulPAPEngine engine = (RESTfulPAPEngine) PolicyController.getPapEngine();
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- PolicyAdapter policyData = (PolicyAdapter)mapper.readValue(root.get("policyData").get("policy").toString(), PolicyAdapter.class);
- if(root.get("policyData").get("model").get("type").toString().replace("\"", "").equals("file")){
- policyData.isEditPolicy = true;
- }
- if(root.get("policyData").get("model").get("path").size() != 0){
- String dirName = "";
- for(int i = 0; i < root.get("policyData").get("model").get("path").size(); i++){
- dirName = dirName.replace("\"", "") + root.get("policyData").get("model").get("path").get(i).toString().replace("\"", "") + File.separator;
- }
- policyData.setDomainDir(dirName.substring(0, dirName.lastIndexOf(File.separator)));
- }else{
- policyData.setDomainDir(root.get("policyData").get("model").get("name").toString().replace("\"", ""));
- }
- int version = 0;
- int highestVersion = 0;
- int descriptionVersion = 0;
- //get the highest version of policy from policy version table.
- //getting the sub scope domain where the policy is created or updated
- String dbCheckPolicyName = policyData.getDomainDir() + File.separator + "Decision_" + policyData.getPolicyName();
- List<PolicyVersion> policyVersionList = policyVersionDao.getPolicyVersionEntityByName(dbCheckPolicyName);
- if (policyVersionList.size() > 0) {
- for(int i = 0; i < policyVersionList.size(); i++) {
- PolicyVersion entityItem = policyVersionList.get(i);
- if(entityItem.getPolicyName().equals(dbCheckPolicyName)){
- highestVersion = entityItem.getHigherVersion();
- }
- }
- }
- if(highestVersion != 0){
- version = highestVersion;
- descriptionVersion = highestVersion +1;
- }else{
- version = 1;
- descriptionVersion = 1;
- }
-
- //set policy adapter values for Building JSON object containing policy data
- String createdBy = "";
- String modifiedBy = userId;
- if(descriptionVersion == 1){
- createdBy = userId;
- }else{
- String policyName = PolicyController.getGitPath().toAbsolutePath().toString() + File.separator + policyData.getDomainDir() + File.separator + policyData.getOldPolicyFileName() + ".xml";
- File policyPath = new File(policyName);
- try {
- createdBy = XACMLPolicyScanner.getCreatedBy(policyPath.toPath());
- } catch (IOException e) {
- createdBy = "guest";
- }
- }
-
- policyData.setPolicyDescription(policyData.getPolicyDescription()+ "@CreatedBy:" +createdBy + "@CreatedBy:" + "@ModifiedBy:" +modifiedBy + "@ModifiedBy:");
- Map<String, String> successMap = new HashMap<String, String>();
- Map<String, String> attributeMap = new HashMap<String, String>();
- Map<String, String> settingsMap = new HashMap<String, String>();
-
- List<String> dynamicRuleAlgorithmLabels = new LinkedList<String>();
- List<String> dynamicRuleAlgorithmCombo = new LinkedList<String>();
- List<String> dynamicRuleAlgorithmField1 = new LinkedList<String>();
- List<String> dynamicRuleAlgorithmField2 = new LinkedList<String>();
- List<Object> dynamicVariableList = new LinkedList<Object>();
- List<String> dataTypeList = new LinkedList<String>();
-
- //set the Rule Combining Algorithm Id to be sent to PAP-REST via JSON
- List<RuleAlgorithms> ruleAlgorithmsList = ruleAlgorithmsDao.getRuleAlgorithms();
- for (int i = 0; i < ruleAlgorithmsList.size(); i++) {
- RuleAlgorithms a = ruleAlgorithmsList.get(i);
- if (a.getXacmlId().equals(XACML3.ID_RULE_PERMIT_OVERRIDES.stringValue())) {
- policyData.setRuleCombiningAlgId(a.getXacmlId());
- break;
- }
- }
-
- if(policyData.getAttributes().size() > 0){
- for(Object attribute : policyData.getAttributes()){
- if(attribute instanceof LinkedHashMap<?, ?>){
- String key = ((LinkedHashMap<?, ?>) attribute).get("option").toString();
- String value = ((LinkedHashMap<?, ?>) attribute).get("number").toString();
- attributeMap.put(key, value);
- }
- }
- }
-
- if(policyData.getSettings().size() > 0){
- for(Object settingsData : policyData.getSettings()){
- if(settingsData instanceof LinkedHashMap<?, ?>){
- String key = ((LinkedHashMap<?, ?>) settingsData).get("option").toString();
- String value = ((LinkedHashMap<?, ?>) settingsData).get("number").toString();
- settingsMap.put(key, value);
- }
- }
- }
-
- if(policyData.getRuleAlgorithmschoices().size() > 0){
- for(Object attribute : policyData.getRuleAlgorithmschoices()){
- if(attribute instanceof LinkedHashMap<?, ?>){
- String label = ((LinkedHashMap<?, ?>) attribute).get("id").toString();
- String key = ((LinkedHashMap<?, ?>) attribute).get("dynamicRuleAlgorithmField1").toString();
- String rule = ((LinkedHashMap<?, ?>) attribute).get("dynamicRuleAlgorithmCombo").toString();
- String value = ((LinkedHashMap<?, ?>) attribute).get("dynamicRuleAlgorithmField2").toString();
- dynamicRuleAlgorithmLabels.add(label);
- dynamicRuleAlgorithmField1.add(key);
- dynamicRuleAlgorithmCombo.add(rule);
- dynamicRuleAlgorithmField2.add(value);
- }
- }
- }
-
- policyData.setDynamicRuleAlgorithmLabels(dynamicRuleAlgorithmLabels);
- policyData.setDynamicRuleAlgorithmCombo(dynamicRuleAlgorithmCombo);
- policyData.setDynamicRuleAlgorithmField1(dynamicRuleAlgorithmField1);
- policyData.setDynamicRuleAlgorithmField2(dynamicRuleAlgorithmField2);
- policyData.setDynamicVariableList(dynamicVariableList);
- policyData.setDynamicSettingsMap(settingsMap);
- policyData.setDynamicFieldConfigAttributes(attributeMap);
- policyData.setDataTypeList(dataTypeList);
- if (policyData.isEditPolicy()){
- //increment the version and set in policyAdapter
- policyData.setVersion(String.valueOf(version));
- policyData.setHighestVersion(version);
- policyData.setPolicyID(this.newPolicyID());
- policyData.setRuleID(ruleID);
- successMap = engine.updatePolicyRequest(policyData);
- } else {
- //send it for policy creation
- policyData.setVersion(String.valueOf(version));
- policyData.setHighestVersion(version);
- successMap = engine.createPolicyRequest(policyData);
-
- }
-
- if (successMap.containsKey("success")) {
- // Add it into our tree
- Path finalPolicyPath = null;
- finalPolicyPath = Paths.get(successMap.get("success"));
- PolicyElasticSearchController controller = new PolicyElasticSearchController();
- controller.updateElk(finalPolicyPath.toString());
- File file = finalPolicyPath.toFile();
- if(file != null){
- String policyName = file.toString();
- String removePath = policyName.substring(policyName.indexOf("repository")+11);
- String removeXml = removePath.replace(".xml", "");
- String removeExtension = removeXml.substring(0, removeXml.indexOf("."));
- List<PolicyVersion> vesionList = policyVersionDao.getPolicyVersionEntityByName(removeExtension);
- if (vesionList.size() > 0) {
- for(int i = 0; i < vesionList.size(); i++) {
- PolicyVersion entityItem = vesionList.get(i);
- if(entityItem.getPolicyName().equals(removeExtension)){
- version = entityItem.getHigherVersion() +1;
- entityItem.setActiveVersion(version);
- entityItem.setHigherVersion(version);
- entityItem.setModifiedBy(userId);
- policyVersionDao.update(entityItem);
- if(policyData.isEditPolicy){
- PolicyNotificationMail email = new PolicyNotificationMail();
- String mode = "EditPolicy";
- String policyNameForEmail = policyData.getDomainDir() + File.separator + policyData.getOldPolicyFileName() + ".xml";
- email.sendMail(entityItem, policyNameForEmail, mode, policyNotificationDao);
- }
- }
- }
- }else{
- PolicyVersion entityItem = new PolicyVersion();
- entityItem.setActiveVersion(version);
- entityItem.setHigherVersion(version);
- entityItem.setPolicyName(removeExtension);
- entityItem.setCreatedBy(userId);
- entityItem.setModifiedBy(userId);
- policyVersionDao.Save(entityItem);
- }
- }
- }
-
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
- String responseString = mapper.writeValueAsString(successMap);
- JSONObject j = new JSONObject("{policyData: " + responseString + "}");
- out.write(j.toString());
- return null;
- }
- catch (Exception e){
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
- out.write(e.getMessage());
- }
- return null;
- }
-
- public void PrePopulateDecisionPolicyData(PolicyAdapter policyAdapter) {
- attributeList = new ArrayList<Object>();
- decisionList = new ArrayList<Object>();
- ruleAlgorithmList = new ArrayList<Object>();
- if (policyAdapter.getPolicyData() instanceof PolicyType) {
- Object policyData = policyAdapter.getPolicyData();
- PolicyType policy = (PolicyType) policyData;
- policyAdapter.setOldPolicyFileName(policyAdapter.getPolicyName());
- String policyNameValue = policyAdapter.getPolicyName().substring(policyAdapter.getPolicyName().indexOf("_") + 1, policyAdapter.getPolicyName().lastIndexOf("."));
- policyAdapter.setPolicyName(policyNameValue);
- String description = "";
- try{
- description = policy.getDescription().substring(0, policy.getDescription().indexOf("@CreatedBy:"));
- }catch(Exception e){
- description = policy.getDescription();
- }
- policyAdapter.setPolicyDescription(description);
- // Get the target data under policy for Action.
- TargetType target = policy.getTarget();
- if (target != null) {
- // under target we have AnyOFType
- List<AnyOfType> anyOfList = target.getAnyOf();
- if (anyOfList != null) {
- Iterator<AnyOfType> iterAnyOf = anyOfList.iterator();
- while (iterAnyOf.hasNext()) {
- AnyOfType anyOf = iterAnyOf.next();
- // Under AntOfType we have AllOfType
- List<AllOfType> allOfList = anyOf.getAllOf();
- if (allOfList != null) {
- Iterator<AllOfType> iterAllOf = allOfList.iterator();
- while (iterAllOf.hasNext()) {
- AllOfType allOf = iterAllOf.next();
- // Under AllOfType we have Mathch.
- List<MatchType> matchList = allOf.getMatch();
- int index = 0;
- if (matchList != null) {
- Iterator<MatchType> iterMatch = matchList.iterator();
- while (iterMatch.hasNext()) {
- MatchType match = iterMatch.next();
- //
- // Under the match we have attributevalue and
- // attributeDesignator. So,finally down to the actual attribute.
- //
- AttributeValueType attributeValue = match.getAttributeValue();
- String value = (String) attributeValue.getContent().get(0);
- AttributeDesignatorType designator = match.getAttributeDesignator();
- String attributeId = designator.getAttributeId();
- // First match in the target is EcompName, so set that value.
- if (index == 0) {
- policyAdapter.setEcompName(value);
- }
- // Component attributes are saved under Target here we are fetching them back.
- // One row is default so we are not adding dynamic componet at index 0.
- if (index >= 1) {
- Map<String, String> attribute = new HashMap<String, String>();
- attribute.put("option", attributeId);
- attribute.put("number", value);
- attributeList.add(attribute);
- }
- index++;
- }
- }
- policyAdapter.setAttributes(attributeList);
- }
- }
- }
- }
-
- List<Object> ruleList = policy.getCombinerParametersOrRuleCombinerParametersOrVariableDefinition();
- int index = 0;
- for (Object object : ruleList) {
- if (object instanceof VariableDefinitionType) {
- VariableDefinitionType variableDefinitionType = (VariableDefinitionType) object;
- Map<String, String> settings = new HashMap<String, String>();
- settings.put("option", variableDefinitionType.getVariableId());
- JAXBElement<AttributeValueType> attributeValueTypeElement = (JAXBElement<AttributeValueType>) variableDefinitionType.getExpression();
- if (attributeValueTypeElement != null) {
- AttributeValueType attributeValueType = attributeValueTypeElement.getValue();
- settings.put("number", attributeValueType.getContent().get(0).toString());
- }
- decisionList.add(settings);
- } else if (object instanceof RuleType) {
- // get the condition data under the rule for rule Algorithms.
- ruleID = ((RuleType) object).getRuleId();
- if (((RuleType) object).getEffect().equals(EffectType.PERMIT)) {
- ConditionType condition = ((RuleType) object).getCondition();
- if (condition != null) {
- ApplyType decisionApply = (ApplyType) condition.getExpression().getValue();
- ruleAlgoirthmTracker = new LinkedList<Integer>();
- // Populating Rule Algorithms starting from compound.
- prePopulateDecisionCompoundRuleAlgorithm(index, decisionApply);
- policyAdapter.setRuleAlgorithmschoices(ruleAlgorithmList);
- }
- }else if(((RuleType) object).getEffect().equals(EffectType.DENY)) {
- if(((RuleType) object).getAdviceExpressions()!=null){
- if(((RuleType) object).getAdviceExpressions().getAdviceExpression().get(0).getAdviceId().toString().equalsIgnoreCase("AAF")){
- policyAdapter.setRuleProvider("AAF");
- break;
- }
- }else{
- policyAdapter.setRuleProvider("Custom");
- }
- }
- }
- }
- }
- policyAdapter.setSettings(decisionList);
- }
-
- }
-
- private void prePopulateDecisionRuleAlgorithms(int index, ApplyType decisionApply, List<JAXBElement<?>> jaxbDecisionTypes) {
- Map<String, String> ruleMap = new HashMap<String, String>();
- ruleMap.put("id", "A" + (index +1));
- Map<String, String> dropDownMap = PolicyController.getDropDownMap();
- for (String key : dropDownMap.keySet()) {
- String keyValue = dropDownMap.get(key);
- if (keyValue.equals(decisionApply.getFunctionId())) {
- ruleMap.put("dynamicRuleAlgorithmCombo", key);
- }
- }
- // Populate the key and value fields
- if (((jaxbDecisionTypes.get(0).getValue()) instanceof AttributeValueType)) {
- ApplyType innerDecisionApply = (ApplyType) jaxbDecisionTypes.get(1).getValue();
- List<JAXBElement<?>> jaxbInnerDecisionTypes = innerDecisionApply.getExpression();
- if (jaxbInnerDecisionTypes.get(0).getValue() instanceof AttributeDesignatorType) {
- AttributeDesignatorType attributeDesignator = (AttributeDesignatorType) jaxbInnerDecisionTypes.get(0).getValue();
- ruleMap.put("dynamicRuleAlgorithmField1", attributeDesignator.getAttributeId());
-
- // Get from Attribute Value
- AttributeValueType actionConditionAttributeValue = (AttributeValueType) jaxbDecisionTypes.get(0).getValue();
- String attributeValue = (String) actionConditionAttributeValue.getContent().get(0);
- ruleMap.put("dynamicRuleAlgorithmField2", attributeValue);
- }
- } else if ((jaxbDecisionTypes.get(0).getValue()) instanceof VariableReferenceType) {
- VariableReferenceType variableReference = (VariableReferenceType) jaxbDecisionTypes.get(0).getValue();
- ruleMap.put("dynamicRuleAlgorithmField1", "S_"+ variableReference.getVariableId());
-
-
- // Get from Attribute Value
- AttributeValueType actionConditionAttributeValue = (AttributeValueType) jaxbDecisionTypes.get(1).getValue();
- String attributeValue = (String) actionConditionAttributeValue.getContent().get(0);
- ruleMap.put("dynamicRuleAlgorithmField2", attributeValue);
- }
- ruleAlgorithmList.add(ruleMap);
- }
-
- private int prePopulateDecisionCompoundRuleAlgorithm(int index, ApplyType decisionApply) {
- boolean isCompoundRule = true;
- List<JAXBElement<?>> jaxbDecisionTypes = decisionApply.getExpression();
- for (JAXBElement<?> jaxbElement : jaxbDecisionTypes) {
- // If There is Attribute Value under Decision Type that means we came to the final child
- if (logger.isDebugEnabled()) {
- logger.debug("Prepopulating rule algoirthm: " + index);
- }
- // Check to see if Attribute Value exists, if yes then it is not a compound rule
- if(jaxbElement.getValue() instanceof AttributeValueType) {
- prePopulateDecisionRuleAlgorithms(index, decisionApply, jaxbDecisionTypes);
- ruleAlgoirthmTracker.addLast(index);
- isCompoundRule = false;
- index++;
- }
- }
- if (isCompoundRule) {
- // As it's compound rule, Get the Apply types
- for (JAXBElement<?> jaxbElement : jaxbDecisionTypes) {
- ApplyType innerDecisionApply = (ApplyType) jaxbElement.getValue();
- index = prePopulateDecisionCompoundRuleAlgorithm(index, innerDecisionApply);
- }
- // Populate combo box
- if (logger.isDebugEnabled()) {
- logger.debug("Prepopulating Compound rule algorithm: " + index);
- }
- Map<String, String> rule = new HashMap<String, String>();
- for (String key : PolicyController.getDropDownMap().keySet()) {
- String keyValue = PolicyController.getDropDownMap().get(key);
- if (keyValue.equals(decisionApply.getFunctionId())) {
- rule.put("dynamicRuleAlgorithmCombo", key);
- }
- }
-
- rule.put("id", "A" + (index +1));
- // Populate Key and values for Compound Rule
- rule.put("dynamicRuleAlgorithmField1", "A" + (ruleAlgoirthmTracker.getLast() + 1 ));
- ruleAlgoirthmTracker.removeLast();
- rule.put("dynamicRuleAlgorithmField2", "A" + (ruleAlgoirthmTracker.getLast() + 1));
- ruleAlgoirthmTracker.removeLast();
- ruleAlgoirthmTracker.addLast(index);
- ruleAlgorithmList.add(rule);
- index++;
- }
- return index;
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PDPController.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PDPController.java
deleted file mode 100644
index add650b1e..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PDPController.java
+++ /dev/null
@@ -1,302 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.controller;
-
-
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.json.JSONObject;
-import org.openecomp.policy.dao.GroupEntityDao;
-import org.openecomp.policy.dao.PDPEntityDao;
-import org.openecomp.policy.model.PDPGroupContainer;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
-import org.openecomp.portalsdk.core.web.support.JsonMessage;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import org.openecomp.policy.xacml.api.pap.EcompPDPGroup;
-
-import com.att.research.xacml.api.pap.PAPException;
-import com.att.research.xacml.api.pap.PDPGroup;
-import org.openecomp.policy.xacml.std.pap.StdPDP;
-import org.openecomp.policy.xacml.std.pap.StdPDPGroup;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-@Controller
-@RequestMapping({"/"})
-public class PDPController extends RestrictedBaseController {
- private static final Logger logger = FlexLogger.getLogger(PDPController.class);
-
- @Autowired
- GroupEntityDao groupDAO;
-
- @Autowired
- PDPEntityDao pdpDAO;
-
- protected List<EcompPDPGroup> groups = Collections.synchronizedList(new ArrayList<EcompPDPGroup>());
- private PDPGroupContainer container;
-
- public synchronized void refreshGroups() {
- synchronized(this.groups) {
- this.groups.clear();
- try {
- this.groups.addAll(PolicyController.getPapEngine().getEcompPDPGroups());
- } catch (PAPException e) {
- String message = "Unable to retrieve Groups from server: " + e;
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR+"Pap Engine is Null" + message);
- }
-
- }
- }
-
- @RequestMapping(value={"/get_PDPGroupContainerData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE)
- public void getPDPGroupContainerData(HttpServletRequest request, HttpServletResponse response){
- try{
- ObjectMapper mapper = new ObjectMapper();
- refreshGroups();
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(groups));
- JSONObject j = new JSONObject(msg);
- response.getWriter().write(j.toString());
- }
- catch (Exception e){
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"Error Occured while retrieving the PDP Group Container data" + e);
- }
- }
-
- @RequestMapping(value={"/get_PDPGroupData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE)
- public void getPDPGroupEntityData(HttpServletRequest request, HttpServletResponse response){
- try{
- ObjectMapper mapper = new ObjectMapper();
- refreshGroups();
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(groups));
- JSONObject j = new JSONObject(msg);
- response.getWriter().write(j.toString());
- }
- catch (Exception e){
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"Error Occured while retrieving the PDP Group data" + e);
- }
- }
-
- @RequestMapping(value={"/pdp_Group/save_pdp_group"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView savePDPGroup(HttpServletRequest request, HttpServletResponse response) throws Exception{
- try {
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- this.container = new PDPGroupContainer(PolicyController.getPapEngine());
- StdPDPGroup pdpGroupData = mapper.readValue(root.get("pdpGroupData").toString().replace("groupName", "name"), StdPDPGroup.class);
- try {
- if(pdpGroupData.getId() == null){
- this.container.addNewGroup(pdpGroupData.getName(), pdpGroupData.getDescription());
- }else{
- this.container.updateGroup(pdpGroupData);
- }
-
- } catch (Exception e) {
- String message = "Unable to create Group. Reason:\n" + e.getMessage();
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"Error Occured while creating the PDP Group" + message);
- }
-
-
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
- refreshGroups();
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(groups));
- JSONObject j = new JSONObject(msg);
- out.write(j.toString());
-
- return null;
- }
- catch (Exception e){
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"Error Occured while Saving the PDP Group" + e);
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
- out.write(e.getMessage());
- }
- return null;
- }
-
- @RequestMapping(value={"/pdp_Group/remove_pdp_group"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView removePDPGroup(HttpServletRequest request, HttpServletResponse response) throws Exception {
- try{
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- this.container = new PDPGroupContainer(PolicyController.getPapEngine());
- StdPDPGroup pdpGroupData = mapper.readValue(root.get("pdpGroupData").toString(), StdPDPGroup.class);
- if(pdpGroupData.getName().equals("Default")) {
- throw new UnsupportedOperationException("You can't remove the Default Group.");
- }else{
- this.container.removeGroup(pdpGroupData, null);
- }
-
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
-
- refreshGroups();
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(groups));
- JSONObject j = new JSONObject(msg);
- out.write(j.toString());
-
- return null;
- }
- catch (Exception e){
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"Error Occured while Removing the PDP Group" + e);
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
- out.write(e.getMessage());
- }
- return null;
- }
-
- @RequestMapping(value={"/pdp_Group/save_pdpTogroup"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView savePDPToGroup(HttpServletRequest request, HttpServletResponse response) throws Exception{
- try {
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- this.container = new PDPGroupContainer(PolicyController.getPapEngine());
- String update = root.get("update").toString();
- PdpData pdpGroupData = (PdpData)mapper.readValue(root.get("pdpInGroup").toString(), PdpData.class);
- StdPDPGroup activeGroupData = mapper.readValue(root.get("activePDP").toString(), StdPDPGroup.class);
- try {
-
- if(update.contains("false")){
- this.container.addNewPDP(pdpGroupData.getId(), activeGroupData, pdpGroupData.getName(), pdpGroupData.getDescription(), pdpGroupData.getJmxPort());
- }else{
- this.container.updateGroup(activeGroupData);
- }
- } catch (Exception e) {
- String message = "Unable to create Group. Reason:\n" + e.getMessage();
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"Error Occured while Creating Pdp in PDP Group" + message);
- }
-
-
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
- refreshGroups();
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(groups));
- JSONObject j = new JSONObject(msg);
- out.write(j.toString());
-
- return null;
- }
- catch (Exception e){
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"Error Occured while Creating Pdp in PDP Group" + e);
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
- out.write(e.getMessage());
- }
- return null;
- }
-
- @RequestMapping(value={"/pdp_Group/remove_pdpFromGroup"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView removePDPFromGroup(HttpServletRequest request, HttpServletResponse response) throws Exception {
- try{
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- this.container = new PDPGroupContainer(PolicyController.getPapEngine());
- StdPDP deletePdp = mapper.readValue(root.get("data").toString(), StdPDP.class);
- StdPDPGroup activeGroupData = mapper.readValue(root.get("activePDP").toString(), StdPDPGroup.class);
-
- this.container.removePDP(deletePdp, activeGroupData);
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
- refreshGroups();
- String responseString = mapper.writeValueAsString(groups);
- JSONObject j = new JSONObject("{pdpEntityDatas: " + responseString + "}");
- out.write(j.toString());
-
- return null;
- }
- catch (Exception e){
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"Error Occured while Removing Pdp from PDP Group" + e);
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
- out.write(e.getMessage());
- }
- return null;
- }
-}
-
-class PdpData{
- String id;
- int jmxPort;
- String name;
- String description;
- public String getId() {
- return id;
- }
- public void setId(String id) {
- this.id = id;
- }
- public int getJmxPort() {
- return jmxPort;
- }
- public void setJmxPort(int jmxPort) {
- this.jmxPort = jmxPort;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getDescription() {
- return description;
- }
- public void setDescription(String description) {
- this.description = description;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PolicyController.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PolicyController.java
deleted file mode 100644
index c4b254c8e..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PolicyController.java
+++ /dev/null
@@ -1,418 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.controller;
-
-
-import java.io.File;
-import java.io.FileFilter;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.annotation.PostConstruct;
-import javax.mail.MessagingException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.commons.io.filefilter.WildcardFileFilter;
-import org.json.JSONObject;
-import org.openecomp.policy.admin.PolicyNotificationMail;
-import org.openecomp.policy.admin.RESTfulPAPEngine;
-import org.openecomp.policy.dao.FunctionDefinitionDao;
-import org.openecomp.policy.dao.PolicyEditorScopesDao;
-import org.openecomp.policy.dao.PolicyVersionDao;
-import org.openecomp.policy.dao.RolesDao;
-import org.openecomp.policy.dao.WatchPolicyNotificationDao;
-import org.openecomp.policy.model.PDPGroupContainer;
-import org.openecomp.policy.model.Roles;
-import org.openecomp.policy.rest.XACMLRestProperties;
-import org.openecomp.policy.rest.XacmlAdminAuthorization;
-import org.openecomp.policy.rest.dao.UserInfoDao;
-import org.openecomp.policy.rest.jpa.Datatype;
-import org.openecomp.policy.rest.jpa.FunctionDefinition;
-import org.openecomp.policy.rest.jpa.PolicyEditorScopes;
-import org.openecomp.policy.rest.jpa.PolicyVersion;
-import org.openecomp.policy.rest.util.Webapps;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
-import org.openecomp.portalsdk.core.web.support.JsonMessage;
-import org.openecomp.portalsdk.core.web.support.UserUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.servlet.ModelAndView;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import org.openecomp.policy.xacml.api.pap.PAPPolicyEngine;
-
-import com.att.research.xacml.api.pap.PAPEngine;
-import com.att.research.xacml.util.XACMLProperties;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-
-@Controller
-@RequestMapping("/")
-public class PolicyController extends RestrictedBaseController {
- private static final Logger LOGGER = FlexLogger.getLogger(PolicyController.class);
- private static UserInfoDao userInfoDao;
- private static PolicyVersionDao policyVersionDao;
- private static RolesDao rolesDao;
- private static PolicyEditorScopesDao policyEditorScopesDao;
- private static WatchPolicyNotificationDao watchPolicyNotificationDao;
- // Our authorization object
- //
- XacmlAdminAuthorization authorizer = new XacmlAdminAuthorization();
- //
- // The PAP Engine
- //
- private static PAPPolicyEngine papEngine;
- private Path repositoryPath = null;
- private static Path workspacePath;
- private static Path gitPath;
- public static String logTableLimit;
- public static String systemAlertTableLimit;
- public static String CONFIG_HOME = PolicyController.getConfigHome();
- public static String ACTION_HOME = PolicyController.getActionHome();
- protected static Map<String, String> dropDownMap = new HashMap<String, String>();
- public static Map<String, String> getDropDownMap() {
- return dropDownMap;
- }
-
- public static void setDropDownMap(Map<String, String> dropDownMap) {
- PolicyController.dropDownMap = dropDownMap;
- }
-
- public static String getDomain() {
- return XACMLProperties.getProperty(XACMLRestProperties.PROP_ADMIN_DOMAIN, "urn");
- }
-
- private static final Object mapAccess = new Object();
- private static Map<Datatype, List<FunctionDefinition>> mapDatatype2Function = null;
- private static Map<String, FunctionDefinition> mapID2Function = null;
-
- private static FunctionDefinitionDao functionDefinitionDao;
-
- //Smtp Java Mail Properties
- public static String smtpHost = null;
- public static String smtpPort = null;
- public static String smtpUsername = null;
- public static String smtpPassword = null;
- public static String smtpApplicationName = null;
- public static String smtpEmailExtension = null;
- //log db Properties
- public static String logdbDriver = null;
- public static String logdbUrl = null;
- public static String logdbUserName = null;
- public static String logdbPassword = null;
- public static String logdbDialect = null;
-
-
- @Autowired
- private PolicyController(UserInfoDao userinfoDao, PolicyVersionDao policyVersionDao, FunctionDefinitionDao functionDefinitionDao,
- RolesDao rolesDao, PolicyEditorScopesDao policyEditorScopesDao, WatchPolicyNotificationDao watchPolicyNotificationDao){
- PolicyController.userInfoDao = userinfoDao;
- PolicyController.policyVersionDao = policyVersionDao;
- PolicyController.functionDefinitionDao = functionDefinitionDao;
- PolicyController.rolesDao = rolesDao;
- PolicyController.policyEditorScopesDao = policyEditorScopesDao;
- PolicyController.watchPolicyNotificationDao = watchPolicyNotificationDao;
- }
-
- public PolicyController() {
- }
-
- @PostConstruct
- public void init(){
- Properties prop = new Properties();
- InputStream input = null;
- try {
- input = new FileInputStream("xacml.admin.properties");
- // load a properties file
- prop.load(input);
- // get the property values
- smtpHost = prop.getProperty("ecomp.smtp.host");
- smtpPort = prop.getProperty("ecomp.smtp.port");
- smtpUsername = prop.getProperty("ecomp.smtp.userName");
- smtpPassword = prop.getProperty("ecomp.smtp.password");
- smtpApplicationName = prop.getProperty("ecomp.application.name");
- smtpEmailExtension = prop.getProperty("ecomp.smtp.emailExtension");
- //Log Database Properties
- logdbDriver = prop.getProperty("xacml.log.db.driver");
- logdbUrl = prop.getProperty("xacml.log.db.url");
- logdbUserName = prop.getProperty("xacml.log.db.user");
- logdbPassword = prop.getProperty("xacml.log.db.password");
- logdbDialect = prop.getProperty("ecomp.dialect");
- //Get the Property Values for Dashboard tab Limit
- try{
- logTableLimit = prop.getProperty("xacml.ecomp.dashboard.logTableLimit");
- systemAlertTableLimit = prop.getProperty("xacml.ecomp.dashboard.systemAlertTableLimit");
- }catch(Exception e){
- LOGGER.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"Dashboard tab Property fields are missing" +e);
- logTableLimit = "5000";
- systemAlertTableLimit = "2000";
- }
- repositoryPath = Paths.get(XACMLProperties.getProperty(XACMLRestProperties.PROP_ADMIN_REPOSITORY));
- PolicyController.workspacePath = Paths.get(XACMLProperties.getProperty(XACMLRestProperties.PROP_ADMIN_WORKSPACE), getDefaultWorkspace());
- setGitPath(Paths.get(workspacePath.toString(), repositoryPath.getFileName().toString()));
- System.setProperty(XACMLProperties.XACML_PROPERTIES_NAME, "xacml.admin.properties");
- } catch (IOException ex) {
- LOGGER.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"Exception Occured while reading the Smtp properties from xacml.admin.properties file" +ex);
- } finally {
- if (input != null) {
- try {
- input.close();
- } catch (IOException e) {
- LOGGER.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"Exception Occured while Closing the xacml.admin.properties file" +e);
- }
- }
- }
-
- //Initialize the FunctionDefinition table at Server Start up
- Map<Datatype, List<FunctionDefinition>> functionMap = getFunctionDatatypeMap();
- for (Datatype id : functionMap.keySet()) {
- List<FunctionDefinition> functionDefinations = (List<FunctionDefinition>) functionMap.get(id);
- for (FunctionDefinition functionDef : functionDefinations) {
- dropDownMap.put(functionDef.getShortname(),functionDef.getXacmlid());
- }
- }
-
- }
-
- public static Map<Datatype, List<FunctionDefinition>> getFunctionDatatypeMap() {
- synchronized(mapAccess) {
- if (mapDatatype2Function == null) {
- buildFunctionMaps();
- }
- }
- return mapDatatype2Function;
- }
-
- public static Map<String, FunctionDefinition> getFunctionIDMap() {
- synchronized(mapAccess) {
- if (mapID2Function == null) {
- buildFunctionMaps();
- }
- }
- return mapID2Function;
- }
-
- private static void buildFunctionMaps() {
- mapDatatype2Function = new HashMap<Datatype, List<FunctionDefinition>>();
- mapID2Function = new HashMap<String, FunctionDefinition>();
- List<FunctionDefinition> functiondefinitions = functionDefinitionDao.getFunctionDefinition();
- for (int i = 0; i < functiondefinitions.size(); i ++) {
- FunctionDefinition value = functiondefinitions.get(i);
- mapID2Function.put(value.getXacmlid(), value);
- if (mapDatatype2Function.containsKey(value.getDatatypeBean()) == false) {
- mapDatatype2Function.put(value.getDatatypeBean(), new ArrayList<FunctionDefinition>());
- }
- mapDatatype2Function.get(value.getDatatypeBean()).add(value);
- }
- }
-
- public static Map<String, Roles> getUserRoles(String userId) {
- Map<String, Roles> scopes = new HashMap<String, Roles>();
- List<Roles> roles = rolesDao.getUserRoles(userId);
- if (roles != null && roles.size() > 0) {
- for (Roles role : roles) {
- scopes.put(role.getScope(), role);
- }
- }
- return scopes;
- }
-
- public static List<String> getRolesOfUser(String userId) {
- List<String> rolesList = new ArrayList<String>();
- List<Roles> roles = rolesDao.getUserRoles(userId);
- for (Roles role: roles) {
- rolesList.add(role.getRole());
- }
- return rolesList;
- }
-
- public static List<Roles> getRoles(String userId) {
- return rolesDao.getUserRoles(userId);
- }
-
- //Get List of User Roles
- @RequestMapping(value={"/get_UserRolesData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE)
- public void getUserRolesEntityData(HttpServletRequest request, HttpServletResponse response){
- try{
- String userId = UserUtils.getUserIdFromCookie(request);
- Map<String, Object> model = new HashMap<String, Object>();
- ObjectMapper mapper = new ObjectMapper();
- model.put("userRolesDatas", mapper.writeValueAsString(getRolesOfUser(userId)));
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(model));
- JSONObject j = new JSONObject(msg);
- response.getWriter().write(j.toString());
- }
- catch (Exception e){
- e.printStackTrace();
- }
- }
-
- //Policy tabs Model and View
- @RequestMapping(value= {"/policy", "/policy/*" }, method = RequestMethod.GET)
- public ModelAndView view(HttpServletRequest request){
- String myRequestURL = request.getRequestURL().toString();
- try {
- //
- // Set the URL for the RESTful PAP Engine
- //
- setPapEngine((PAPPolicyEngine) new RESTfulPAPEngine(myRequestURL));
- new PDPGroupContainer((PAPPolicyEngine) new RESTfulPAPEngine(myRequestURL));
- } catch (Exception e) {
- LOGGER.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR+"Exception Occured while loading PAP"+e);
- }
- Map<String, Object> model = new HashMap<String, Object>();
- return new ModelAndView("policy_Editor","model", model);
- }
-
- public static String getDefaultWorkspace() {
- return "admin";
- }
-
- public static PAPPolicyEngine getPapEngine() {
- return papEngine;
- }
-
- public void setPapEngine(PAPPolicyEngine papEngine) {
- PolicyController.papEngine = papEngine;
- }
-
- //Config and Action Directory's
- public static String getConfigHome() {
- return Webapps.getConfigHome();
- }
-
- public static String getActionHome() {
- return Webapps.getActionHome();
- }
-
- public static Path getGitPath() {
- return gitPath;
- }
-
- public static void setGitPath(Path gitPath) {
- PolicyController.gitPath = gitPath;
- }
-
- public static String getUserName(String createdBy) {
- String loginId = createdBy;
- return userInfoDao.getUserName(loginId);
- }
-
- public static boolean getActivePolicy(String query) {
- if(policyVersionDao.getActiveVersionPolicy(query).size() > 0){
- return true;
- }else{
- return false;
- }
-
- }
-
- //Get the Active Version of Policy List from Policy Version table
- public static List<PolicyVersion> getListOfActivePolicies(String query){
- return policyVersionDao.getActiveVersionPolicy(query);
- }
-
- public static void updatePolicyVersion(String query) {
- policyVersionDao.updateQuery(query);
- }
-
- public static void SaveToPolicyVersion(PolicyVersion policyversion) {
- policyVersionDao.Save(policyversion);
- }
-
- public static PolicyVersion getPolicyEntityFromPolicyVersion(String query){
- PolicyVersion policyVersionEntity = policyVersionDao.getPolicyVersionEntityByName(query).get(0);
- return policyVersionEntity;
- }
-
- public static void SavePolicyScope(PolicyEditorScopes policyScope){
- policyEditorScopesDao.Save(policyScope);
- }
-
- public static List<PolicyEditorScopes> getListOfPolicyEditorScopes(String query){
- return policyEditorScopesDao.getListOfPolicyScopes(query);
- }
-
- public static void updatePolicyScopeEditorWithQuery(String policyScopeQuery) {
- policyEditorScopesDao.updateQuery(policyScopeQuery);
-
- }
-
- public static void updatePolicyScopeEditor(PolicyEditorScopes policyScopeQuery) {
- policyEditorScopesDao.update(policyScopeQuery);
-
- }
-
- public void WatchPolicyFunction(PolicyVersion entity, String policyName, String mode){
- PolicyNotificationMail email = new PolicyNotificationMail();
- try {
- email.sendMail(entity, policyName, mode, watchPolicyNotificationDao);
- } catch (MessagingException e) {
- LOGGER.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + "Excepton Occured while Renaming/Deleting a Policy or Scope" + e);
- }
- }
-
- //Switch Version
- public JSONObject SwitchVersionPolicyContent(File policyFile) {
- Path parent = Paths.get(policyFile.toString().substring(0, policyFile.toString().lastIndexOf(File.separator)));
- String policyName = policyFile.toString().substring(policyFile.toString().indexOf("repository") +11);
- String removeExtension = policyName.replace(".xml", "");
- String activeVersion = removeExtension.substring(removeExtension.lastIndexOf(".")+1);
- String dbPolicyName = removeExtension.substring(0, removeExtension.lastIndexOf("."));
- String filterPolicyName = dbPolicyName.substring(dbPolicyName.lastIndexOf(File.separator)+1);
- FileFilter fileFilter = new WildcardFileFilter(filterPolicyName + "." + "*" + ".xml");
- File[] files = ((File) parent.toFile()).listFiles(fileFilter);
- List<String> av = new ArrayList<String>();
- for(File file : files){
- String fileName = file.toString().substring(file.toString().indexOf("repository") +11);
- String removeXMLExtension = fileName.replace(".xml", "");
- String availableVersion = removeXMLExtension.substring(removeXMLExtension.lastIndexOf(".")+1);
- av.add(availableVersion);
- }
- PolicyVersion entity = (PolicyVersion) policyVersionDao.getPolicyVersionEntityByName(dbPolicyName).get(0);
- String highestVersion = Integer.toString(entity.getHigherVersion());
- JSONObject el = new JSONObject();
- el.put("activeVersion", activeVersion);
- el.put("availableVersions", av);
- el.put("highestVersion", highestVersion);
- return el;
- }
-
- public static Path getUserWorkspace() {
- return PolicyController.workspacePath;
- }
-
-}
-
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PolicyExportAndImportController.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PolicyExportAndImportController.java
deleted file mode 100644
index 76fadb59d..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PolicyExportAndImportController.java
+++ /dev/null
@@ -1,563 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.controller;
-
-
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.PrintWriter;
-import java.nio.file.FileVisitResult;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.nio.file.SimpleFileVisitor;
-import java.nio.file.attribute.BasicFileAttributes;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.commons.compress.archivers.tar.TarArchiveEntry;
-import org.apache.commons.compress.archivers.tar.TarArchiveInputStream;
-import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream;
-import org.apache.commons.io.FilenameUtils;
-import org.apache.commons.io.IOUtils;
-import org.json.JSONObject;
-import org.openecomp.policy.adapter.PolicyExportAdapter;
-import org.openecomp.policy.dao.PolicyVersionDao;
-import org.openecomp.policy.elk.client.ElkConnector;
-import org.openecomp.policy.model.Roles;
-import org.openecomp.policy.rest.jpa.PolicyVersion;
-import org.openecomp.policy.utils.XACMLPolicyWriterWithPapNotify;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
-import org.openecomp.portalsdk.core.web.support.UserUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-
-@Controller
-@RequestMapping("/")
-public class PolicyExportAndImportController extends RestrictedBaseController {
- private static Logger logger = FlexLogger.getLogger(PolicyExportAndImportController.class);
- private ArrayList<File> selectedPolicy;
- public static String CONFIG_HOME = PolicyController.getConfigHome();
- public static String ACTION_HOME = PolicyController.getActionHome();
-
- private Set<String> scopes = null;
- private List<String> roles = null;
- private Boolean superadmin = false;
- private Boolean showMessage = false;
- private static final int BUFFER_SIZE = 4096;
- private Path directory = PolicyController.getGitPath();
-
- //Scopes Which Super Editor can't import
- private Set<String> sEditorScopesCantCreate = new HashSet<String>();
- //List of scopes in Tar file
- private Set<String> listOfTarNewScopes = new HashSet<String>();
- //List of xml policies
- private ArrayList<String> xacmlFiles = new ArrayList<String>();
- //Scopes of the User based on the Roles
- private List<String> userScopes = null;
- //Directory names from tar file
- private Set<String> directoryNames = new HashSet<String>();
- //compare the scopes of the user and tar file get unique
- private Set<String> finalScopesToImport = new HashSet<String>();
- //final scopes User can import
- private Set<String> finalScopes = new HashSet<String>();
- //User don't have permissions to import to scopes
- private Set<String> roleIsNotSufficient = new HashSet<String>();
- //User don't have access to import new scopes
- private Set<String> userDontHavePermission = new HashSet<String>();
-
- private Map<String, Roles> scopeAndRoles = null;
-
- private static PolicyVersionDao policyVersionDao;
-
- @Autowired
- ServletContext servletContext;
-
- @Autowired
- private PolicyExportAndImportController(PolicyVersionDao policyVersionDao){
- PolicyExportAndImportController.policyVersionDao = policyVersionDao;
- }
-
- public PolicyExportAndImportController(){}
-
- @RequestMapping(value={"/policy_download/exportPolicy.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView ExportPolicy(HttpServletRequest request, HttpServletResponse response) throws Exception{
- try{
- selectedPolicy = new ArrayList<File>();
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- PolicyExportAdapter adapter = mapper.readValue(root.get("exportData").toString(), PolicyExportAdapter.class);
- for (Object policyId : adapter.getPolicyDatas()) {
- LinkedHashMap<?, ?> selected = (LinkedHashMap<?, ?>)policyId;
- Path file = Paths.get(selected.get("filePath").toString());
- selectedPolicy.add(file.toFile());
- }
- // Grab our working repository
- //
- final Path repoPath = PolicyController.getGitPath().toAbsolutePath();
- if(CONFIG_HOME == null || ACTION_HOME == null ){
- CONFIG_HOME = PolicyController.getConfigHome();
- ACTION_HOME = PolicyController.getActionHome();
- }
- Path configPath = Paths.get(CONFIG_HOME);
- Path actionPath = Paths.get(ACTION_HOME);
- String tempDir = System.getProperty("catalina.base") + File.separator + "webapps" + File.separator + "temp";
- File temPath = new File(tempDir);
- if(!temPath.exists()){
- temPath.mkdir();
- }
- final Path tarFile = Paths.get(tempDir, "Repository.tar");
- try (OutputStream os = Files.newOutputStream(tarFile)) {
- try (TarArchiveOutputStream tarOut = new TarArchiveOutputStream(os)) {
- tarOut.setLongFileMode(TarArchiveOutputStream.LONGFILE_GNU);
- Files.walkFileTree(configPath, new SimpleFileVisitor<Path>() {
- @Override
- public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
- for (File policyId : selectedPolicy) {
- // Get the current selection
- String policyDir = policyId.toString();
- policyDir = policyDir.substring(policyDir.indexOf("repository")+11);
- String path = policyDir.replace('\\', '.');
- if(path.contains("/")){
- path = policyDir.replace('/', '.');
- logger.info("print the path:" +path);
- }
- path = FilenameUtils.removeExtension(path);
- if (path.endsWith(".xml")) {
- path = path.substring(0, path.length() - 4);
- }
- File configFile = new File(path);
- String fileName = FilenameUtils.removeExtension(file.getFileName().toString());
- File configHome = new File(fileName);
- if(configFile.equals(configHome)) {
- Path relative = configPath.relativize(file);
- TarArchiveEntry entry = new TarArchiveEntry(relative.toFile());
- entry.setSize(Files.size(file));
- tarOut.putArchiveEntry(entry);
- try {
- IOUtils.copy(Files.newInputStream(file), tarOut);
- } catch (IOException e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
- }
- tarOut.closeArchiveEntry();
- return super.visitFile(file, attrs);
- }
- }
- return super.visitFile(file, attrs);
- }
- });
-
- Files.walkFileTree(actionPath, new SimpleFileVisitor<Path>() {
- @Override
- public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
- for (File policyId : selectedPolicy) {
- // Get the current selection
- String policyDir = policyId.toString();
- policyDir = policyDir.substring(policyDir.indexOf("repository")+11);
- String path = policyDir.replace('\\', '.');
- if(path.contains("/")){
- path = policyDir.replace('/', '.');
- logger.info("print the path:" +path);
- }
- path = FilenameUtils.removeExtension(path);
- if (path.endsWith(".xml")) {
- path = path.substring(0, path.length() - 4);
- }
- File actionFile = new File(path);
- String fileName = FilenameUtils.removeExtension(file.getFileName().toString());
- File actionHome = new File(fileName);
- if(actionFile.equals(actionHome)) {
- Path relative = actionPath.relativize(file);
- TarArchiveEntry entry = new TarArchiveEntry(relative.toFile());
- entry.setSize(Files.size(file));
- tarOut.putArchiveEntry(entry);
- try {
- IOUtils.copy(Files.newInputStream(file), tarOut);
- } catch (IOException e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
- }
- tarOut.closeArchiveEntry();
- return super.visitFile(file, attrs);
- }
- }
- return super.visitFile(file, attrs);
- }
- });
-
- Files.walkFileTree(repoPath, new SimpleFileVisitor<Path>() {
- @Override
- public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
- if (file.getFileName().toString().endsWith(".xml") == false) {
- return super.visitFile(file, attrs);
- }
- for (File policyId : selectedPolicy) {
- // Get the current selection
- if(policyId.getAbsoluteFile().getName().equals(file.getFileName().toString())) {
- Path relative = repoPath.relativize(file);
- TarArchiveEntry entry = new TarArchiveEntry(relative.toFile());
- entry.setSize(Files.size(file));
- tarOut.putArchiveEntry(entry);
- try {
- IOUtils.copy(Files.newInputStream(file), tarOut);
- } catch (IOException e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
- }
- tarOut.closeArchiveEntry();
- return super.visitFile(file, attrs);
- }
- }
- return super.visitFile(file, attrs);
- }
- });
-
- tarOut.closeArchiveEntry();
- tarOut.finish();
- logger.debug("closing the tar file");
- }
- } catch (IOException e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "getting IOexception");
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
- }
- logger.info("trying to send tar file "+tarFile.toAbsolutePath().toString());
-
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
- String successMap = tarFile.toString().substring(tarFile.toString().lastIndexOf("webapps")+8);
- PrintWriter out = response.getWriter();
- String responseString = mapper.writeValueAsString(successMap);
- JSONObject j = new JSONObject("{data: " + responseString + "}");
- out.write(j.toString());
-
-
- return null;
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR+"Exception Occured while Exporting Policies"+e);
- }
- return null;
- }
-
- //Policy Import
- public JSONObject ImportRepositoryFile(String file, HttpServletRequest request){
- TarArchiveEntry entry = null;
- TarArchiveInputStream extractFile = null;
- try {
- extractFile = new TarArchiveInputStream (new FileInputStream(file));
- } catch (FileNotFoundException e1) {
- e1.printStackTrace();
- }
- String userId = null;
- try {
- userId = UserUtils.getUserIdFromCookie(request);
- } catch (Exception e) {
- logger.error("Exception Occured while reading userid from cookie" +e);
- }
- scopeAndRoles = PolicyController.getUserRoles(userId);
- //Check if the Role and Scope Size are Null get the values from db.
- List<Roles> userRoles = PolicyController.getRoles(userId);
- roles = new ArrayList<String>();
- scopes = new HashSet<String>();
- for(Roles userRole: userRoles){
- roles.add(userRole.getRole());
- scopes.add(userRole.getScope());
- }
- //Create a loop to read every single entry in TAR file
- try {
- if (roles.contains("super-admin") || roles.contains("super-editor") || roles.contains("super-guest") ) {
- while ((entry = extractFile.getNextTarEntry()) != null) {
- this.superadmin = true;
- try{
- copyFileToLocation(extractFile, entry, xacmlFiles, null, superadmin);
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR+"Exception while Importing Polcies"+e);
- }
- }
- }else{
- this.showMessage = true;
- //get the directory names from tar file and add to the list
- while ((entry = extractFile.getNextTarEntry()) != null) {
- if(entry.getName().endsWith(".xls")) {
- this.superadmin = true;
- try{
- copyFileToLocation(extractFile, entry, xacmlFiles, finalScopes, superadmin);
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR+"Exception while Importing Polcies"+e);
- }
- }
- if(entry.getName().endsWith(".xml")){
- String filename = null;
- if(entry.getName().contains("\\")){
- filename = entry.getName().replace("\\", File.separator);
- }else{
- filename = entry.getName().replace("/", File.separator);
- }
- directoryNames.add(filename.substring(0, filename.lastIndexOf(File.separator)));
- }
-
- //get the matching scopes on comparing user scopes and tar file scopes
- for(int i=0;i< userScopes.size(); i++){
- for(int j=0; j<directoryNames.size(); j++){
- if(userScopes.toArray()[i].equals(directoryNames.toArray()[j])){
- finalScopesToImport.add(userScopes.toArray()[i].toString());
- }
- }
- }
- //get the scopes for which the user have permission to import
- if(finalScopesToImport.size() != 0){
- for(int i = 0; i < finalScopesToImport.size() ; i++){
- String role = scopeAndRoles.get(finalScopesToImport.toArray()[i]).getRole();
- if(role.equalsIgnoreCase("editor") || role.equalsIgnoreCase("admin")){
- finalScopes.add(finalScopesToImport.toArray()[i].toString());
- if(role.equalsIgnoreCase("super-guest") || role.equalsIgnoreCase("guest")){
- roleIsNotSufficient.remove(finalScopesToImport.toArray()[i].toString());
- }
- }else{
- roleIsNotSufficient.add(finalScopesToImport.toArray()[i].toString());
- }
- }
- }
- //if final Scopes to import set is not 0, then copy the files
- if(finalScopes.size() != 0) {
- this.superadmin = false;
- try{
- copyFileToLocation(extractFile, entry, xacmlFiles, finalScopes, superadmin);
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR+"Exception while Importing Polcies"+e);
- }
- }
- }
- }
- } catch (Exception e1) {
- logger.info(XACMLErrorConstants.ERROR_PROCESS_FLOW+"Exception:" +e1);
- e1.printStackTrace();
- }
- // Close TarAchiveInputStream
- try {
- extractFile.close();
- } catch (IOException e) {
- logger.info(XACMLErrorConstants.ERROR_PROCESS_FLOW+"IO Exception:"+e);
- e.printStackTrace();
- }
-
- File tarFile1 = new File(file.toString());
- tarFile1.delete();
-
- for (String xacmlFile: xacmlFiles) {
- String policyName = xacmlFile.substring(xacmlFile.indexOf("repository")+11);
- if(policyName.endsWith(".xml")){
- policyName = policyName.replace(".xml", "");
- String version = policyName.substring(policyName.lastIndexOf(".")+1);
- String finalPolicyName = policyName.substring(0, policyName.lastIndexOf("."));
- PolicyVersion policyVersion = new PolicyVersion();
- policyVersion.setPolicyName(finalPolicyName);
- policyVersion.setActiveVersion(Integer.parseInt(version));
- policyVersion.setHigherVersion(Integer.parseInt(version));
- policyVersion.setCreatedBy(userId);
- policyVersion.setModifiedBy(userId);
- policyVersionDao.Save(policyVersion);
- }
-
- //send to pap
- if(!XACMLPolicyWriterWithPapNotify.notifyPapOfCreateUpdate(xacmlFile)){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW+"Failed adding imported policy to database: "+xacmlFile);
- //throw new Exception("Failed adding imported policy to database: "+xacmlFile);
- }
- try {
- File f = new File(xacmlFile);
- ElkConnector.singleton.update(f);
- } catch (Exception e) {
- logger.warn(XACMLErrorConstants.ERROR_DATA_ISSUE + ": Cannot ELK import: " + xacmlFile + " " +
- e.getMessage(), e);
- }
- }
-
- //Filter the Set on Removing the Scopes which are imported
- for(int j=0; j< finalScopesToImport.size(); j++){
- for(int i = 0; i < directoryNames.size(); i++){
- if(roles.contains("admin") || roles.contains("editor")){
- if(!((directoryNames.toArray()[i]).toString()).startsWith(finalScopesToImport.toArray()[j].toString())){
- userDontHavePermission.add(directoryNames.toArray()[i].toString());
- }
- }
- }
- }
-
- //Show the Warn message to the User, if any of the policies are not Imported to teh Scopes
- if(showMessage){
- if(roleIsNotSufficient.size() == 0 && userDontHavePermission.size() != 0){
- logger.warn(" User don't have Permissions to Import Policies to following Scopes:'"+userDontHavePermission+"'");
- }
- else if(roleIsNotSufficient.size() != 0 && userDontHavePermission.size() == 0){
- logger.warn("Please Contact Super-Admin to Import the New Scopes:'"+roleIsNotSufficient+"'");
- }
- else if(roleIsNotSufficient.size() != 0 && userDontHavePermission.size() != 0){
- logger.warn("Please Contact Super-Admin to Import the New Scopes:'"+roleIsNotSufficient+"' User don't have Permissions to Import Policies to following Scopes:'"+userDontHavePermission+"'");
- }else if(sEditorScopesCantCreate.size() != 0){
- logger.warn("Super-Editor can't create following new Scopes" +sEditorScopesCantCreate);
- }else if(finalScopesToImport.size() == 0 && directoryNames.size() != 0){
- logger.warn(" User don't have Permissions to Import Policies to following Scopes:'"+directoryNames+"'");
- }
- }
- return null;
- }
-
- //Copy files to Directorys
- private void copyFileToLocation(TarArchiveInputStream extractFile, TarArchiveEntry entry, ArrayList<String> xacmlFiles, Set<String> finalScopes, Boolean superadminValue ) throws IOException{
- String individualFiles = "";
- int offset = 0;
- FileOutputStream outputFile=null;
- // Get the name of the file
- if(superadminValue){
- individualFiles = entry.getName();
- //Add the list of scopes
- if(entry.getName().endsWith(".xml")){
- String filename = null;
- if(entry.getName().contains("\\")){
- filename = entry.getName().replace("\\", File.separator);
- }else{
- filename = entry.getName().replace("/", File.separator);
- }
- if(roles.contains("super-editor")){
- listOfTarNewScopes.add(filename.substring(0, filename.lastIndexOf(File.separator)));
- }
- }
- }else{
- for(int i =0; i< finalScopes.size(); i++){
- if(entry.getName().startsWith(finalScopes.toArray()[i].toString())){
- individualFiles = entry.getName();
- }
- }
- }
-
- //Filter the new Scopes which Super-Editor can't create
- if(roles.contains("super-editor")){
- for(int j= 0; j< listOfTarNewScopes.size(); j++){
- boolean scopeExistsFlag = false; // This Flag is used to know if the Scope Exists.
- for(int i=0; i < scopes.size(); i++ ){
- if(scopes.contains(listOfTarNewScopes.toArray()[j])){
- scopeExistsFlag = true;
- }
- }
- if(!scopeExistsFlag){
- sEditorScopesCantCreate.add(listOfTarNewScopes.toArray()[j].toString());
- showMessage = true;
- }
- }
- }
-
- individualFiles = individualFiles.replace("/", File.separator);
- individualFiles = individualFiles.replace("\\", File.separator);
-
- //Create the path with the entry name
- String filePath = directory + File.separator + individualFiles;
- String configPath = CONFIG_HOME + File.separator + individualFiles;
- String actionPath = ACTION_HOME + File.separator + individualFiles;
- logger.info("File Name in TAR File is: " + individualFiles);
- logger.info("Xml directory file path: " + filePath);
- logger.info("Config Home directory file path: " + configPath);
- logger.info("Action Home directory file path: " + actionPath);
-
-
- // Get Size of the file and create a byte array for the size
- byte[] content = new byte[(int) entry.getSize()];
-
- offset=0;
- logger.info("File Name in TAR File is: " + individualFiles);
- logger.info("Size of the File is: " + entry.getSize());
- // Read file from the archive into byte array
- extractFile.read(content, offset, content.length - offset);
- if (!entry.isDirectory()) {
- if(!individualFiles.contains(".Config_") || !individualFiles.contains(".Action_")){
- // if the entry is a file, extracts it
- String filePath1 = filePath.substring(0, filePath.lastIndexOf(File.separator));
- File newFile = new File(filePath1);
- if(!(newFile.exists()) && !(roles.contains("super-editor") || roles.contains("editor"))) {
- File dir = new File(filePath1);
- dir.mkdir();
- extractFile(extractFile, filePath);
- }
- }
- } else {
- // if the entry is a directory, make the directory
- if(!(roles.contains("super-editor") || roles.contains("editor"))){
- File dir = new File(filePath);
- dir.mkdir();
- }
- }
- // Define OutputStream for writing the file
- if(individualFiles.contains(".Config_")){
- outputFile=new FileOutputStream(new File(configPath));
- }else if(individualFiles.contains(".Action_")){
- outputFile=new FileOutputStream(new File(actionPath));
- }else{
- if(filePath != null){
- outputFile=new FileOutputStream(new File(filePath));
- xacmlFiles.add(filePath);
- }
- }
-
- // Use IOUtiles to write content of byte array to physical file
- IOUtils.write(content,outputFile);
-
- // Close Output Stream
- try {
- outputFile.close();
- } catch (IOException e) {
- logger.info("IOException:" +e);
- e.printStackTrace();
- }
- }
-
- private void extractFile(TarArchiveInputStream extractFile, String filePath) throws IOException {
- BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(filePath));
- byte[] bytesIn = new byte[BUFFER_SIZE];
- int read = 0;
- while ((read = extractFile.read(bytesIn)) != -1) {
- bos.write(bytesIn, 0, read);
- }
- bos.close();
-
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PolicyNotificationController.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PolicyNotificationController.java
deleted file mode 100644
index 203f3dcc6..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PolicyNotificationController.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.controller;
-
-
-/*
- *
- * */
-import java.io.File;
-import java.io.PrintWriter;
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.json.JSONObject;
-import org.openecomp.policy.dao.WatchPolicyNotificationDao;
-import org.openecomp.policy.rest.jpa.WatchPolicyNotificationTable;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
-import org.openecomp.portalsdk.core.web.support.UserUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ArrayNode;
-
-@Controller
-@RequestMapping({"/"})
-public class PolicyNotificationController extends RestrictedBaseController {
-
- @Autowired
- WatchPolicyNotificationDao policyNotificationDao;
-
- @RequestMapping(value={"/watchPolicy"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView watchPolicy(HttpServletRequest request, HttpServletResponse response) throws Exception{
- String path = "";
- String responseValue = "";
- try {
- String userId = UserUtils.getUserIdFromCookie(request);
- System.out.println(userId);
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- String name = root.get("watchData").get("name").toString();
- JsonNode pathList = root.get("watchData").get("path");
- String finalName = "";
- if(pathList.isArray()){
- ArrayNode arrayNode = (ArrayNode) pathList;
- for (int i = 0; i < arrayNode.size(); i++) {
- JsonNode individualElement = arrayNode.get(i);
- if(i == 0){
- path = path + individualElement.toString().replace("\"", "").trim();
- }else{
- path = path + File.separator + individualElement.toString().replace("\"", "").trim();
- }
- }
- }
-
- if(pathList.size() > 0){
- finalName = path + File.separator + name.replace("\"", "").trim();
- }else{
- finalName = name.replace("\"", "").trim();
- }
- if(finalName.contains("\\")){
- finalName = finalName.replace("\\", "\\\\");
- }
- String query = "from WatchPolicyNotificationTable where POLICYNAME = '"+finalName+"' and LOGINIDS = '"+userId+"'";
- List<WatchPolicyNotificationTable> watchList = policyNotificationDao.watchListQuery(query);
- if(watchList.isEmpty()){
- if(finalName.contains("\\\\")){
- finalName = finalName.replace("\\\\", File.separator);
- }
- WatchPolicyNotificationTable watch = new WatchPolicyNotificationTable();
- watch.setPolicyName(finalName);
- watch.setLoginIds(userId);
- policyNotificationDao.save(watch);
- responseValue = "You have Subscribed Successfully";
- }else{
- policyNotificationDao.delete(watchList.get(0));
- responseValue = "You have UnSubscribed Successfully";
- }
-
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
- String responseString = mapper.writeValueAsString(responseValue);
- JSONObject j = new JSONObject("{watchData: " + responseString + "}");
- out.write(j.toString());
- return null;
- }catch(Exception e){
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
- out.write(e.getMessage());
- }
- return null;
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PolicyRolesController.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PolicyRolesController.java
deleted file mode 100644
index dea341ea9..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PolicyRolesController.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.controller;
-
-
-import java.io.File;
-import java.io.PrintWriter;
-import java.nio.file.Path;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.json.JSONObject;
-import org.openecomp.policy.dao.PolicyRolesDao;
-import org.openecomp.policy.rest.jpa.PolicyRoles;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
-import org.openecomp.portalsdk.core.web.support.JsonMessage;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.MediaType;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
-import com.fasterxml.jackson.annotation.PropertyAccessor;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-@Controller
-@RequestMapping("/")
-public class PolicyRolesController extends RestrictedBaseController{
-
- @Autowired
- PolicyRolesDao policyRolesDao;
- List<String> scopelist;
-
- @RequestMapping(value={"/get_RolesData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE)
- public void getPolicyRolesEntityData(HttpServletRequest request, HttpServletResponse response){
- try{
- Map<String, Object> model = new HashMap<String, Object>();
- ObjectMapper mapper = new ObjectMapper();
- model.put("rolesDatas", mapper.writeValueAsString(policyRolesDao.getUserRoles()));
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(model));
- JSONObject j = new JSONObject(msg);
- response.getWriter().write(j.toString());
- }
- catch (Exception e){
- e.printStackTrace();
- }
- }
-
- @RequestMapping(value={"/save_NonSuperRolesData"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView SaveRolesEntityData(HttpServletRequest request, HttpServletResponse response){
- try{
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- PolicyRoles adapter = mapper.readValue(root.get("editRoleData").toString(), PolicyRoles.class);
- policyRolesDao.update(adapter);
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
- String responseString = mapper.writeValueAsString(policyRolesDao.getUserRoles());
- JSONObject j = new JSONObject("{rolesDatas: " + responseString + "}");
-
- out.write(j.toString());
- }
- catch (Exception e){
- e.printStackTrace();
- }
- return null;
- }
-
- @RequestMapping(value={"/get_PolicyRolesScopeData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE)
- public void getPolicyScopesEntityData(HttpServletRequest request, HttpServletResponse response){
- try{
- scopelist = new ArrayList<String>();
- Map<String, Object> model = new HashMap<String, Object>();
- ObjectMapper mapper = new ObjectMapper();
- mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
- Path gitPath = PolicyController.getGitPath().toAbsolutePath();
- model.put("scopeDatas", mapper.writeValueAsString(readFileRepository(gitPath)));
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(model));
- JSONObject j = new JSONObject(msg);
- response.getWriter().write(j.toString());
- }
- catch (Exception e){
- e.printStackTrace();
- }
- }
-
- public List<String> readFileRepository(Path path){
- File root = new File(path.toString());
- for ( File file : root.listFiles()){
- if(file.isDirectory()){
- String fileName = getDomain(file);
- if (!(fileName.contains(".git") || fileName.equals(".DS_Store"))) {
- scopelist.add(fileName);
- }
- readFileRepository(file.toPath());
- }
- }
- return scopelist;
- }
-
- public String getDomain(File file) {
- String filePath = file.getAbsolutePath();
- int startIndex = filePath.indexOf("repository") + 11;
- return filePath.substring(startIndex, filePath.length());
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PolicyValidationController.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PolicyValidationController.java
deleted file mode 100644
index 5ffdd062a..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/controller/PolicyValidationController.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.controller;
-
-
-import java.io.PrintWriter;
-import java.util.Arrays;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.json.JSONObject;
-import org.openecomp.policy.adapter.ClosedLoopFaultBody;
-import org.openecomp.policy.adapter.ClosedLoopPMBody;
-import org.openecomp.policy.adapter.PolicyAdapter;
-import org.openecomp.policy.admin.RESTfulPAPEngine;
-import org.openecomp.policy.rest.dao.SafePolicyWarningDao;
-import org.openecomp.policy.rest.jpa.SafePolicyWarning;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
-import org.openecomp.portalsdk.core.web.support.JsonMessage;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.common.base.CharMatcher;
-
-@Controller
-@RequestMapping("/")
-public class PolicyValidationController extends RestrictedBaseController {
-
- public static final String CONFIG_POLICY = "Config";
- public static final String ACTION_POLICY = "Action";
- public static final String DECISION_POLICY = "Decision";
- public static final String CLOSEDLOOP_POLICY = "ClosedLoop_Fault";
- public static final String CLOSEDLOOP_PM = "ClosedLoop_PM";
- public static final String ENFORCER_CONFIG_POLICY= "Enforcer Config";
- public static final String MICROSERVICES="DCAE Micro Service";
- private Pattern pattern;
- private Matcher matcher;
-
- private static final String EMAIL_PATTERN =
- "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
- + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";
-
- @Autowired
- SafePolicyWarningDao safePolicyWarningDao;
-
- @RequestMapping(value={"/policyController/validate_policy.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView validatePolicy(HttpServletRequest request, HttpServletResponse response) throws Exception{
- try{
- boolean valid = true;
- String responseString = "";
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- PolicyAdapter policyData = (PolicyAdapter)mapper.readValue(root.get("policyData").toString(), PolicyAdapter.class);
- if(policyData.getPolicyName() != null){
- String policyNameValidate = emptyValidator(policyData.getPolicyName());
- if(!policyNameValidate.contains("success")){
- responseString = responseString + "PolicyName:" + policyNameValidate;
- valid = false;
- };
- }else{
- responseString = responseString + "PolicyName: PolicyName Should not be empty" + "<br>";
- }
- if(policyData.getPolicyDescription() != null){
- String descriptionValidate = descriptionValidator(policyData.getPolicyDescription());
- if(!descriptionValidate.contains("success")){
- responseString = responseString + "Description:" + descriptionValidate;
- valid = false;
- }
- }
-
- if(policyData.getPolicyType().equals(CONFIG_POLICY)){
- if (policyData.getConfigPolicyType().equals("Base") || policyData.getConfigPolicyType().equals(CLOSEDLOOP_POLICY)
- || policyData.getConfigPolicyType().equals(CLOSEDLOOP_PM) || policyData.getConfigPolicyType().equals(ENFORCER_CONFIG_POLICY) || policyData.getConfigPolicyType().equals(MICROSERVICES)) {
- if(policyData.getEcompName() != null){
- String ecompNameValidate = emptyValidator(policyData.getEcompName());
- if(!ecompNameValidate.contains("success")){
- responseString = responseString + "EcompName:" + ecompNameValidate;
- valid = false;
- }
- }else{
- responseString = responseString + "Ecomp Name: Ecomp Name Should not be empty" + "<br>";
- }
- }
-
- if(policyData.getRiskType() != null){
- String riskTypeValidate = emptyValidator(policyData.getRiskType());
- if(!riskTypeValidate.contains("success")){
- responseString = responseString + "RiskType:" + riskTypeValidate;
- valid = false;
- }else {
- SafePolicyWarning safePolicyWarningData = safePolicyWarningDao.getSafePolicyWarningDataById(policyData.getRiskType());
- if (safePolicyWarningData!=null){
- safePolicyWarningData.getMessage();
- responseString = responseString + "Messaage:" + safePolicyWarningData.getMessage();
- }
- }
- }else {
- responseString = responseString + "Risk Type: Risk Type Should not be Empty" + "<br>";
- valid = false;
- }
-
- if(policyData.getRiskLevel() != null){
- String validateRiskLevel = emptyValidator(policyData.getRiskLevel());
- if(!validateRiskLevel.contains("success")){
- responseString = responseString + "RiskLevel:" + validateRiskLevel;
- valid = false;
- }
- }else {
- responseString = responseString + "Risk Level: Risk Level Should not be Empty" + "<br>";
- valid = false;
- }
-
- if(policyData.getGuard() != null){
- String validateGuard = emptyValidator(policyData.getGuard());
- if(!validateGuard.contains("success")){
- responseString = responseString + "Guard:" + validateGuard;
- valid = false;
- }
- }else {
- responseString = responseString + "Guard: Guard Value Should not be Empty" + "<br>";
- valid = false;
- }
-
- if(policyData.getConfigPolicyType().equals("Base")){
- if(policyData.getConfigName() != null){
- String configNameValidate = emptyValidator(policyData.getConfigName());
- if(!configNameValidate.contains("success")){
- responseString = responseString + "ConfigName:" + configNameValidate;
- valid = false;
- }
- }else{
- responseString = responseString + "Config Name: Config Name Should not be Empty" + "<br>";
- }
- if(policyData.getConfigType() != null){
- String configTypeValidate = emptyValidator(policyData.getConfigType());
- if(!configTypeValidate.contains("success")){
- responseString = responseString + "ConfigType:" + configTypeValidate;
- valid = false;
- }
- }else{
- responseString = responseString + "Config Type: Config Type Should not be Empty" + "<br>";
- }
- if(policyData.getConfigBodyData() != null){
- String policyType = policyData.getPolicyType();
- RESTfulPAPEngine engine = (RESTfulPAPEngine) PolicyController.getPapEngine();
- if(!engine.validatePolicyRequest(policyData, policyType)){
- responseString = responseString + "ConfigBody: Validation Failed";
- valid = false;
- }
- }else{
- responseString = responseString + "Config Body: Config Body Should not be Empty" + "<br>";
- }
- }
-
-
- if(policyData.getJsonBodyData() != null){
- if(policyData.getConfigPolicyType().equals("ClosedLoop_PM")){
- ClosedLoopPMBody pmBody = (ClosedLoopPMBody)mapper.readValue(root.get("policyData").get("jsonBodyData").toString(), ClosedLoopPMBody.class);
- if(pmBody.getEmailAddress() != null){
- String validateEmail = validateEmailAddress(pmBody.getEmailAddress().toString());
- if(!validateEmail.contains("success")){
- responseString = responseString + "Email:" + validateEmail;
- valid = false;
- }
- }else{
- valid = true;
- }
- }else if(policyData.getConfigPolicyType().equals("ClosedLoop_Fault")){
- ClosedLoopFaultBody faultBody = (ClosedLoopFaultBody)mapper.readValue(root.get("policyData").get("jsonBodyData").toString(), ClosedLoopFaultBody.class);
- if(faultBody.getEmailAddress() != null){
- String validateEmail = validateEmailAddress(faultBody.getEmailAddress().toString());
- if(!validateEmail.contains("success")){
- responseString = responseString + "Email:" + validateEmail;
- valid = false;
- }
- }else{
- valid = true;
- }
- }
- }
- }
- if (policyData.getPolicyType().equals(DECISION_POLICY)){
- String ecompNameValidate = emptyValidator(policyData.getEcompName());
- if(!ecompNameValidate.contains("success")){
- responseString = responseString + "EcompName:" + ecompNameValidate;
- valid = false;
- }
- }
-
- if(policyData.getPolicyType().equals(ACTION_POLICY)){
- String actionPerformer = emptyValidator(policyData.getActionPerformer());
- String actionAttribute = emptyValidator(policyData.getActionAttributeValue());
- if(!actionPerformer.contains("success")){
- responseString = responseString + "ActionPerformer:" + actionPerformer;
- valid = false;
- };
- if(!actionAttribute.contains("success")){
- responseString = responseString + "ActionAttribute:" + actionAttribute;
- valid = false;
- };
- }
-
- if(policyData.getPolicyType().equals(CONFIG_POLICY)){
- if(valid){
- responseString = "success" + "@#"+ responseString;
- }
- }else{
- if(valid){
- responseString = "success";
- }
- }
-
- PrintWriter out = response.getWriter();
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(responseString));
- JSONObject j = new JSONObject(msg);
- out.write(j.toString());
-
- return null;
- }
- catch (Exception e){
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
- out.write(e.getMessage());
- }
- return null;
- }
-
- protected String emptyValidator(String field){
- String error = "success";
- if (field.equals("") || field.contains(" ") || !field.matches("^[a-zA-Z0-9_]*$")) {
- error = "The Value in Required Field will allow only '{0-9}, {a-z}, {A-Z}, _' following set of Combinations";
- return error;
- } else {
- if(CharMatcher.ASCII.matchesAllOf((CharSequence) field)){
- error = "success";
- }else{
- error = "The Value Contains Non ASCII Characters";
- return error;
- }
- }
- return error;
- }
-
- protected String descriptionValidator(String field) {
- String error = "success";
- if (field.contains("@CreatedBy:") || field.contains("@ModifiedBy:")) {
- error = "The value in the description shouldn't contain @CreatedBy: or @ModifiedBy:";
- return error;
- } else {
- error = "success";
- }
- return error;
- }
-
- public String validateEmailAddress(String emailAddressValue) {
- String error = "success";
- List<String> emailList = Arrays.asList(emailAddressValue.toString().split(","));
- for(int i =0 ; i < emailList.size() ; i++){
- pattern = Pattern.compile(EMAIL_PATTERN);
- matcher = pattern.matcher(emailList.get(i).trim());
- if(!matcher.matches()){
- error = "Please check the Following Email Address is not Valid .... " +emailList.get(i).toString();
- return error;
- }else{
- error = "success";
- }
- }
- return error;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/FunctionDefinitionDao.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/FunctionDefinitionDao.java
deleted file mode 100644
index c216ca589..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/FunctionDefinitionDao.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.dao;
-
-
-import java.util.List;
-
-import org.openecomp.policy.rest.jpa.FunctionDefinition;
-
-public interface FunctionDefinitionDao {
-
- List<FunctionDefinition> getFunctionDefinition();
- List<String> getFunctionDefinitionByName();
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/GlobalRoleSettingsDao.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/GlobalRoleSettingsDao.java
deleted file mode 100644
index 35aab5211..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/GlobalRoleSettingsDao.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.dao;
-
-
-import java.util.List;
-
-import org.openecomp.policy.rest.jpa.GlobalRoleSettings;
-
-public interface GlobalRoleSettingsDao {
-
- void update(GlobalRoleSettings globalRoleSettings);
- List<GlobalRoleSettings> getGlobalRoleSettings();
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/GroupEntityDao.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/GroupEntityDao.java
deleted file mode 100644
index 8983382f7..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/GroupEntityDao.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.dao;
-
-
-import java.util.List;
-
-import org.openecomp.policy.rest.jpa.GroupEntity;
-
-
-public abstract interface GroupEntityDao {
-
- public abstract List<GroupEntity> getGroupEntityData();
-
- public abstract GroupEntity getPDPGroupEntity(String string);
-
- public abstract void savePDPGroupEntity(GroupEntity pdpGroupDataFunction);
-
- public abstract void deletePDPGroupEntity(GroupEntity pdpGroupDataFunction);
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/PDPEntityDao.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/PDPEntityDao.java
deleted file mode 100644
index 60f7441b3..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/PDPEntityDao.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.dao;
-
-
-import java.util.List;
-
-import org.openecomp.policy.rest.jpa.PdpEntity;
-
-
-public abstract interface PDPEntityDao {
-
- public abstract List<PdpEntity> getPDPEntityData();
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/PolicyEditorScopesDao.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/PolicyEditorScopesDao.java
deleted file mode 100644
index f40de6d50..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/PolicyEditorScopesDao.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.dao;
-
-
-import java.util.List;
-
-import org.openecomp.policy.rest.jpa.PolicyEditorScopes;
-
-
-public interface PolicyEditorScopesDao {
- List<PolicyEditorScopes> getPolicyEditorScopesData();
- List<String> getPolicyEditorScopesDataByName();
- void Save(PolicyEditorScopes policyEditorScopes);
- void delete(PolicyEditorScopes policyEditorScopes);
- void update(PolicyEditorScopes policyEditorScopes);
- List<PolicyEditorScopes> getListOfPolicyScopes(String query);
- void updateQuery(String policyScopeQuery);
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/PolicyRolesDao.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/PolicyRolesDao.java
deleted file mode 100644
index 49cd17c10..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/PolicyRolesDao.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.dao;
-
-
-import java.util.List;
-
-import org.openecomp.policy.rest.jpa.PolicyRoles;
-
-public interface PolicyRolesDao {
-
- List<PolicyRoles> getRoles();
- List<PolicyRoles> getUserRoles();
- void save(PolicyRoles role);
-
- void update(PolicyRoles role);
-
- void delete(PolicyRoles role);
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/PolicyVersionDao.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/PolicyVersionDao.java
deleted file mode 100644
index 0c2692e6c..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/PolicyVersionDao.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.dao;
-
-
-import java.util.List;
-
-import org.openecomp.policy.rest.jpa.PolicyVersion;
-
-
-public interface PolicyVersionDao {
- List<PolicyVersion> getPolicyVersionData();
- List<PolicyVersion> getPolicyVersionEntityByName(String policyVersion);
- List<String> getPolicyVersionDataByName();
- List<PolicyVersion> getActiveVersionPolicy(String query);
- void Save(PolicyVersion policyVersion);
- void delete(PolicyVersion policyVersion);
- void update(PolicyVersion policyVersion);
- void updateQuery(String policyVersion);
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/RemoteCatalogValuesDao.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/RemoteCatalogValuesDao.java
deleted file mode 100644
index c2ff0f7b8..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/RemoteCatalogValuesDao.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.dao;
-
-
-import java.util.List;
-
-import org.openecomp.policy.rest.jpa.RemoteCatalogValues;
-
-public interface RemoteCatalogValuesDao {
- List<RemoteCatalogValues> getRemoteCatalogValuesData();
- List<String> getRemoteCatalogValuesDataByName();
- void Save(RemoteCatalogValues attribute);
- void delete(RemoteCatalogValues attribute);
- void update(RemoteCatalogValues attribute);
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/RolesDao.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/RolesDao.java
deleted file mode 100644
index 4612daea0..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/RolesDao.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.dao;
-
-
-import java.util.List;
-
-import org.openecomp.policy.model.Roles;
-
-
-
-public interface RolesDao {
-
- List<Roles> getUserRoles(String userId);
-
- void save(Roles role);
-
- void delete(Roles role);
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/RuleAlgorithmsDao.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/RuleAlgorithmsDao.java
deleted file mode 100644
index 6a9c6b303..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/RuleAlgorithmsDao.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.dao;
-
-
-import java.util.List;
-
-import org.openecomp.policy.rest.jpa.RuleAlgorithms;
-
-public interface RuleAlgorithmsDao {
-
- List<RuleAlgorithms> getRuleAlgorithms();
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/SystemLogDbDao.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/SystemLogDbDao.java
deleted file mode 100644
index bdfdd8f0a..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/SystemLogDbDao.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.dao;
-
-
-import java.util.List;
-
-import org.openecomp.policy.rest.jpa.SystemLogDB;
-
-
-
-public abstract interface SystemLogDbDao {
- public abstract List<SystemLogDB> getLoggingData();
- public abstract List<SystemLogDB> getSystemAlertData();
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/WatchPolicyNotificationDao.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/WatchPolicyNotificationDao.java
deleted file mode 100644
index a43294e94..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/dao/WatchPolicyNotificationDao.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.dao;
-
-
-import java.util.List;
-
-import org.openecomp.policy.rest.jpa.WatchPolicyNotificationTable;
-
-public interface WatchPolicyNotificationDao {
- List<WatchPolicyNotificationTable> getListData();
- List<WatchPolicyNotificationTable> getListDataByPolicyName(String policyName);
- void save(WatchPolicyNotificationTable data);
- void update(WatchPolicyNotificationTable data);
- void delete(WatchPolicyNotificationTable data);
- List<WatchPolicyNotificationTable> watchListQuery(String query);
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/ActionPolicyDictDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/ActionPolicyDictDaoImpl.java
deleted file mode 100644
index b29aafec2..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/ActionPolicyDictDaoImpl.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-//import org.apache.commons.logging.Log;
-//import org.apache.commons.logging.LogFactory;
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.hibernate.criterion.Restrictions;
-import org.openecomp.policy.rest.dao.ActionPolicyDictDao;
-import org.openecomp.policy.rest.jpa.ActionPolicyDict;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Service("ActionPolicyDictDao")
-public class ActionPolicyDictDaoImpl implements ActionPolicyDictDao {
- private static final Logger logger = FlexLogger.getLogger(ActionPolicyDictDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
- @SuppressWarnings("unchecked")
- @Override
- public List<ActionPolicyDict> getActionDictData() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
-
- List<ActionPolicyDict> actionDictData = null;
- try {
- Criteria cr = session.createCriteria(ActionPolicyDict.class);
- actionDictData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying ActionDictionary Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return actionDictData;
- }
-
- @Override
- public void Save(ActionPolicyDict action) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.persist(action);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving ActionDictionary Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
- @Override
- public void delete(ActionPolicyDict action) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.delete(action);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting ActionDictionary Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
- @Override
- public void update(ActionPolicyDict action) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.update(action);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating ActionDictionary Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<String> getActionDictDataByName() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<String> data = new ArrayList<String>();
- try {
- Criteria cr = session.createCriteria(ActionPolicyDict.class);
- List<ActionPolicyDict> attributeData = cr.list();
- for(int i = 0; i < attributeData.size(); i++){
- data.add(attributeData.get(i).getAttributeName());
- }
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying ActionDictionary Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public ActionPolicyDict getActionEntityDatabyId(String action) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- ActionPolicyDict data = null;
- try {
- Criteria cr = session.createCriteria(ActionPolicyDict.class);
- List<ActionPolicyDict> attributeData = cr.add(Restrictions.eq("attributeName", action)).list();
- for(Object entity : attributeData){
- data = (ActionPolicyDict) entity;
- }
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying ActionDictionary Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/AddressGroupDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/AddressGroupDaoImpl.java
deleted file mode 100644
index 132220f5f..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/AddressGroupDaoImpl.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-//import org.apache.commons.logging.Log;
-//import org.apache.commons.logging.LogFactory;
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.openecomp.policy.rest.dao.AddressGroupDao;
-import org.openecomp.policy.rest.jpa.AddressGroup;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Service("AddressGroupDao")
-public class AddressGroupDaoImpl implements AddressGroupDao{
- private static final Logger logger = FlexLogger.getLogger(AddressGroupDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
- @SuppressWarnings("unchecked")
- @Override
- public List<AddressGroup> getAddressGroupData() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<AddressGroup> attributeData = null;
- try {
- Criteria cr = session.createCriteria(AddressGroup.class);
- attributeData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying AddressGroup Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return attributeData;
-
- }
-
- @Override
- public void Save(AddressGroup attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.persist(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving AddressGroup Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public void delete(AddressGroup attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.delete(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting AddressGroup Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
- @Override
- public void update(AddressGroup attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.update(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating AddressGroup Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<String> getAddressGroupDataByName() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<String> data = new ArrayList<String>();
- try {
- Criteria cr = session.createCriteria(AddressGroup.class);
- List<AddressGroup> attributeData = cr.list();
- for(int i = 0; i < attributeData.size(); i++){
- data.add(attributeData.get(i).getGroupName());
- }
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying AddressGroup Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/BRMSParamTemplateDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/BRMSParamTemplateDaoImpl.java
deleted file mode 100644
index 0b634ff73..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/BRMSParamTemplateDaoImpl.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-//import org.apache.commons.logging.Log;
-//import org.apache.commons.logging.LogFactory;
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.openecomp.policy.rest.dao.BRMSParamTemplateDao;
-import org.openecomp.policy.rest.jpa.BRMSParamTemplate;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Service("BRMSParamTemplateDao")
-public class BRMSParamTemplateDaoImpl implements BRMSParamTemplateDao{
- private static final Logger logger = FlexLogger.getLogger(BRMSParamTemplateDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
- @SuppressWarnings("unchecked")
- @Override
- public List<BRMSParamTemplate> getBRMSParamTemplateData() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<BRMSParamTemplate> attributeData =null;
- try {
- Criteria cr = session.createCriteria(BRMSParamTemplate.class);
- attributeData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying BRMSParamTemplate Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return attributeData;
-
- }
-
- @Override
- public void Save(BRMSParamTemplate attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.persist(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving BRMSParamTemplate Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public void delete(BRMSParamTemplate attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.delete(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting BRMSParamTemplate Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
- @Override
- public void update(BRMSParamTemplate attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.update(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating BRMSParamTemplate Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<String> getBRMSParamDataByName() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<String> data = new ArrayList<String>();
- try {
- Criteria cr = session.createCriteria(BRMSParamTemplate.class);
- List<BRMSParamTemplate> attributeData = cr.list();
- for(int i = 0; i < attributeData.size(); i++){
- data.add(attributeData.get(i).getRuleName());
- }
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying BRMSParamTemplate Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/DescriptiveScopeDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/DescriptiveScopeDaoImpl.java
deleted file mode 100644
index 600b42ce7..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/DescriptiveScopeDaoImpl.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-//import org.apache.commons.logging.Log;
-//import org.apache.commons.logging.LogFactory;
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.hibernate.criterion.Restrictions;
-import org.openecomp.policy.rest.dao.DescriptiveScopeDao;
-import org.openecomp.policy.rest.jpa.DescriptiveScope;
-import org.openecomp.policy.rest.jpa.PolicyVersion;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Service("DescriptiveScopeDao")
-public class DescriptiveScopeDaoImpl implements DescriptiveScopeDao{
- private static final Logger logger = FlexLogger.getLogger(DescriptiveScopeDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
- @SuppressWarnings("unchecked")
- @Override
- public List<DescriptiveScope> getDescriptiveScope() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<DescriptiveScope> descriptiveScopeData = null;
- try {
- Criteria cr = session.createCriteria(DescriptiveScope.class);
- descriptiveScopeData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying DescriptiveScope Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return descriptiveScopeData;
- }
-
- @Override
- public void Save(DescriptiveScope descriptiveScope) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.persist(descriptiveScope);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving DescriptiveScope Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public void delete(DescriptiveScope descriptiveScope) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.delete(descriptiveScope);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting DescriptiveScope Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public void update(DescriptiveScope descriptiveScope) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.update(descriptiveScope);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating DescriptiveScope Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<String> getDescriptiveScopeDataByName() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<String> data = new ArrayList<String>();
- try {
- Criteria cr = session.createCriteria(DescriptiveScope.class);
- List<DescriptiveScope> descriptiveScopeData = cr.list();
- for(int i = 0; i < descriptiveScopeData.size(); i++){
- data.add(descriptiveScopeData.get(i).getScopeName());
- }
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying DescriptiveScope Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
- @Override
- public DescriptiveScope getDescriptiveScopeById(String name) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- DescriptiveScope data = null;
- try {
- Criteria cr = session.createCriteria(PolicyVersion.class);
- cr.add(Restrictions.eq("scopename",name));
- data = (DescriptiveScope) cr.list().get(0);
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying DescriptiveScope Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/FirewallDictionaryListDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/FirewallDictionaryListDaoImpl.java
deleted file mode 100644
index e002aa962..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/FirewallDictionaryListDaoImpl.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.hibernate.Criteria;
-import org.hibernate.Query;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.hibernate.criterion.Restrictions;
-import org.openecomp.policy.rest.dao.FirewallDictionaryListDao;
-import org.openecomp.policy.rest.jpa.FirewallDictionaryList;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Service("FirewallDictionaryListDao")
-public class FirewallDictionaryListDaoImpl implements FirewallDictionaryListDao {
- private static final Logger logger = FlexLogger.getLogger(FirewallDictionaryListDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
- @SuppressWarnings("unchecked")
- @Override
- public List<FirewallDictionaryList> getFWDictionaryListData() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<FirewallDictionaryList> attributeData = null;
- try {
- Criteria cr = session.createCriteria(FirewallDictionaryList.class);
- attributeData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying FirewallDictionaryList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return attributeData;
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<String> getFWDictionaryListDataByName() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<String> data = new ArrayList<String>();
- try {
- Criteria cr = session.createCriteria(FirewallDictionaryList.class);
- List<FirewallDictionaryList> attributeData = cr.list();
- for(int i = 0; i < attributeData.size(); i++){
- data.add(attributeData.get(i).getParentItemName());
- }
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying FirewallDictionaryList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
- @Override
- public void Save(FirewallDictionaryList firewallDictionaryList) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.persist(firewallDictionaryList);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving FirewallDictionaryList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public void delete(FirewallDictionaryList firewallDictionaryList) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.delete(firewallDictionaryList);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting FirewallDictionaryList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public void update(FirewallDictionaryList firewallDictionaryList) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.update(firewallDictionaryList);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating FirewallDictionaryList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public void updateQuery(String query) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- Query hbquery = session.createQuery(query);
- hbquery.executeUpdate();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating FirewallDictionaryList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public FirewallDictionaryList getFWDictionaryDataById(String value) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- FirewallDictionaryList data = null;
- try {
- Criteria cr = session.createCriteria(FirewallDictionaryList.class);
- cr = cr.add(Restrictions.eq("parentItemName",value));
- data = (FirewallDictionaryList) cr.list().get(0);
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying FirewallDictionaryList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/FunctionDefinitionDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/FunctionDefinitionDaoImpl.java
deleted file mode 100644
index ebb833585..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/FunctionDefinitionDaoImpl.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.openecomp.policy.dao.FunctionDefinitionDao;
-import org.openecomp.policy.rest.jpa.FunctionDefinition;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Service("FunctionDefinitionDao")
-public class FunctionDefinitionDaoImpl implements FunctionDefinitionDao{
- private static final Logger logger = FlexLogger.getLogger(FunctionDefinitionDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
- @SuppressWarnings("unchecked")
- @Override
- public List<String> getFunctionDefinitionByName() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<String> data = new ArrayList<String>();
- try {
- Criteria cr = session.createCriteria(FunctionDefinition.class);
- List<FunctionDefinition> functionDefinitionData = cr.list();
- for(int i = 0; i < functionDefinitionData.size(); i++){
- data.add(functionDefinitionData.get(i).getShortname());
- }
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying FunctionDefinition Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<FunctionDefinition> getFunctionDefinition() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<FunctionDefinition> functionDefinitionData = null;
- try {
- Criteria cr = session.createCriteria(FunctionDefinition.class);
- functionDefinitionData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying FunctionDefinition Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return functionDefinitionData;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/GlobalRoleSettingsDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/GlobalRoleSettingsDaoImpl.java
deleted file mode 100644
index 718b8e98f..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/GlobalRoleSettingsDaoImpl.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.List;
-
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.openecomp.policy.dao.GlobalRoleSettingsDao;
-import org.openecomp.policy.rest.jpa.GlobalRoleSettings;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-
-@Service("GlobalRoleSettingsDao")
-public class GlobalRoleSettingsDaoImpl implements GlobalRoleSettingsDao{
- private static final Logger logger = FlexLogger.getLogger(GlobalRoleSettingsDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
-
-
- @SuppressWarnings("unchecked")
- @Override
- public List<GlobalRoleSettings> getGlobalRoleSettings() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<GlobalRoleSettings> lockdownData = null;
- try {
- Criteria cr = session.createCriteria(GlobalRoleSettings.class);
- lockdownData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying GlobalRoleSettings Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return lockdownData;
- }
-
-
-
- @Override
- public void update(GlobalRoleSettings globalRoleSettings) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.update(globalRoleSettings);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating GlobalRoleSettings Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/GroupEntityDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/GroupEntityDaoImpl.java
deleted file mode 100644
index 1a468253c..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/GroupEntityDaoImpl.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.List;
-
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.openecomp.policy.dao.GroupEntityDao;
-import org.openecomp.policy.rest.jpa.GroupEntity;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Service("PDPGroupDataDao")
-public class GroupEntityDaoImpl implements GroupEntityDao{
- private static final Logger logger = FlexLogger.getLogger(GroupEntityDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
- @SuppressWarnings("unchecked")
- @Override
- public List<GroupEntity> getGroupEntityData() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- Criteria cr = session.createCriteria(GroupEntity.class);
- List<GroupEntity> groupData = null;
- try {
- groupData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying GroupEntity Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return groupData;
- }
-
- @Override
- public GroupEntity getPDPGroupEntity(String getgroupName) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- GroupEntity entity = null;
- try {
- entity = (GroupEntity) session.get(GroupEntity.class, getgroupName);
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying GroupEntity Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return entity;
- }
-
- @Override
- public void savePDPGroupEntity(GroupEntity pdpGroupDataFunction) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.persist(pdpGroupDataFunction);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving GroupEntity Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
- @Override
- public void deletePDPGroupEntity(GroupEntity pdpGroupDataFunction) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.delete(pdpGroupDataFunction);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting GroupEntity Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/GroupPolicyScopeListDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/GroupPolicyScopeListDaoImpl.java
deleted file mode 100644
index a51eef102..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/GroupPolicyScopeListDaoImpl.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-//import org.apache.commons.logging.Log;
-//import org.apache.commons.logging.LogFactory;
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.hibernate.criterion.Restrictions;
-import org.openecomp.policy.rest.dao.GroupPolicyScopeListDao;
-import org.openecomp.policy.rest.jpa.GroupPolicyScopeList;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Service("GroupPolicyScopeListDao")
-public class GroupPolicyScopeListDaoImpl implements GroupPolicyScopeListDao {
- private static final Logger logger = FlexLogger.getLogger(GroupPolicyScopeListDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
- @SuppressWarnings("unchecked")
- @Override
- public List<GroupPolicyScopeList> getGroupPolicyScopeListData() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<GroupPolicyScopeList> attributeData = null;
- try {
- Criteria cr = session.createCriteria(GroupPolicyScopeList.class);
- attributeData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying GroupPolicyScopeList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return attributeData;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<String> getGroupPolicyScopeListDataByName() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<String> data = new ArrayList<String>();
- try {
- Criteria cr = session.createCriteria(GroupPolicyScopeList.class);
- List<GroupPolicyScopeList> attributeData = cr.list();
- for(int i = 0; i < attributeData.size(); i++){
- data.add(attributeData.get(i).getGroupName());
- }
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying GroupPolicyScopeList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
- @Override
- public void Save(GroupPolicyScopeList attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.persist(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving GroupPolicyScopeList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public void delete(GroupPolicyScopeList attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.delete(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting Attribute Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public void update(GroupPolicyScopeList attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.update(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating Attribute Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<GroupPolicyScopeList> CheckDuplicateEntry(String value) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<GroupPolicyScopeList> data = null;
- try {
- Criteria cr = session.createCriteria(GroupPolicyScopeList.class);
- cr.add(Restrictions.eq("name",value));
- data = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying GroupPolicyScopeList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/MicroServiceModelsDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/MicroServiceModelsDaoImpl.java
deleted file mode 100644
index 6c198aa11..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/MicroServiceModelsDaoImpl.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-//import org.apache.commons.logging.Log;
-//import org.apache.commons.logging.LogFactory;
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.openecomp.policy.rest.dao.MicroServiceModelsDao;
-import org.openecomp.policy.rest.jpa.MicroServiceModels;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Service("MicroServiceModelsDao")
-public class MicroServiceModelsDaoImpl implements MicroServiceModelsDao{
- private static final Logger logger = FlexLogger.getLogger(MicroServiceModelsDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
- @SuppressWarnings("unchecked")
- @Override
- public List<MicroServiceModels> getMicroServiceModelsData() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<MicroServiceModels> attributeData = null;
- try {
- Criteria cr = session.createCriteria(MicroServiceModels.class);
- attributeData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying MicroServiceModels Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return attributeData;
-
- }
-
- @Override
- public void Save(MicroServiceModels attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.persist(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving MicroServiceModels Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public void delete(MicroServiceModels attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.delete(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting MicroServiceModels Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
- @Override
- public void update(MicroServiceModels attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.update(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating MicroServiceModels Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<String> getMSModelsDataByName() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<String> data = new ArrayList<String>();
- try {
- Criteria cr = session.createCriteria(MicroServiceModels.class);
- List<MicroServiceModels> attributeData = cr.list();
- for(int i = 0; i < attributeData.size(); i++){
- if(attributeData.get(i).getVersion() == null || attributeData.get(i).getVersion().equals("")){
- data.add(attributeData.get(i).getModelName());
- }else{
- data.add(attributeData.get(i).getModelName() + "-v" + attributeData.get(i).getVersion());
- }
- }
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying MicroServiceModels Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/PDPEntityDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/PDPEntityDaoImpl.java
deleted file mode 100644
index 2a2250e87..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/PDPEntityDaoImpl.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.List;
-
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.openecomp.policy.dao.PDPEntityDao;
-import org.openecomp.policy.rest.jpa.PdpEntity;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Service("PDPEntityDataDao")
-public class PDPEntityDaoImpl implements PDPEntityDao {
- private static final Logger logger = FlexLogger.getLogger(PDPEntityDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
- @SuppressWarnings("unchecked")
- @Override
- public List<PdpEntity> getPDPEntityData() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<PdpEntity> pdpData = null;
- try {
- Criteria cr = session.createCriteria(PdpEntity.class);
- pdpData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying PdpEntity Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return pdpData;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/PolicyEditorScopesDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/PolicyEditorScopesDaoImpl.java
deleted file mode 100644
index 4aad7efbd..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/PolicyEditorScopesDaoImpl.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.hibernate.Criteria;
-import org.hibernate.Query;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.openecomp.policy.dao.PolicyEditorScopesDao;
-import org.openecomp.policy.rest.jpa.PolicyEditorScopes;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-@Service("PolicyEditorScopesDao")
-public class PolicyEditorScopesDaoImpl implements PolicyEditorScopesDao {
- private static final Log logger = LogFactory.getLog(PolicyEditorScopesDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
- @SuppressWarnings("unchecked")
- @Override
- public List<PolicyEditorScopes> getPolicyEditorScopesData() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<PolicyEditorScopes> scopeNameData = null;
- try {
- Criteria cr = session.createCriteria(PolicyEditorScopes.class);
- scopeNameData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying PolicyEditorScopes Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return scopeNameData;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<String> getPolicyEditorScopesDataByName() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<String> data = new ArrayList<String>();
- try {
- Criteria cr = session.createCriteria(PolicyEditorScopes.class);
- List<PolicyEditorScopes> scopeNameData = cr.list();
- for(int i = 0; i < scopeNameData.size(); i++){
- data.add(scopeNameData.get(i).getScopeName());
- }
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying PolicyEditorScopes Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
- @Override
- public void Save(PolicyEditorScopes policyEditorScopes) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.persist(policyEditorScopes);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving PolicyEditorScopes Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public void delete(PolicyEditorScopes policyEditorScopes) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.delete(policyEditorScopes);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting PolicyEditorScopes Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public void update(PolicyEditorScopes policyEditorScopes) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.update(policyEditorScopes);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating PolicyEditorScopes Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<PolicyEditorScopes> getListOfPolicyScopes(String query) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<PolicyEditorScopes> data = null;
- try {
- Query hbquery = session.createQuery(query);
- data = hbquery.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying PolicyEditorScopes Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
- @Override
- public void updateQuery(String policyScopeQuery) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- Query hbquery = session.createQuery(policyScopeQuery);
- hbquery.executeUpdate();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating PolicyEditorScopes Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/PolicyRolesDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/PolicyRolesDaoImpl.java
deleted file mode 100644
index f10a94229..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/PolicyRolesDaoImpl.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-import java.util.List;
-
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.hibernate.criterion.Conjunction;
-import org.hibernate.criterion.Disjunction;
-import org.hibernate.criterion.Restrictions;
-import org.openecomp.policy.dao.PolicyRolesDao;
-import org.openecomp.policy.rest.jpa.PolicyRoles;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Service("PolicyRolesDao")
-public class PolicyRolesDaoImpl implements PolicyRolesDao{
- private static final Logger logger = FlexLogger.getLogger(PolicyRolesDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
- @SuppressWarnings("unchecked")
- @Override
- public List<PolicyRoles> getUserRoles() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<PolicyRoles> rolesData = null;
- try {
- Criteria cr = session.createCriteria(PolicyRoles.class);
- Disjunction disjunction = Restrictions.disjunction();
- Conjunction conjunction1 = Restrictions.conjunction();
- conjunction1.add(Restrictions.eq("role", "admin"));
- Conjunction conjunction2 = Restrictions.conjunction();
- conjunction2.add(Restrictions.eq("role", "editor"));
- Conjunction conjunction3 = Restrictions.conjunction();
- conjunction3.add(Restrictions.eq("role", "guest"));
- disjunction.add(conjunction1);
- disjunction.add(conjunction2);
- disjunction.add(conjunction3);
- rolesData = cr.add(disjunction).list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying PolicyRoles Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return rolesData;
- }
-
- @Override
- public void save(PolicyRoles role) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.persist(role);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving PolicyRoles Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public void delete(PolicyRoles role) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.delete(role);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting PolicyRoles Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public void update(PolicyRoles role) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.update(role);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating PolicyRoles Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<PolicyRoles> getRoles() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<PolicyRoles> rolesData = null;
- try {
- Criteria cr = session.createCriteria(PolicyRoles.class);
- rolesData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying PolicyRoles Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return rolesData;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/PolicyVersionDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/PolicyVersionDaoImpl.java
deleted file mode 100644
index 02188ec47..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/PolicyVersionDaoImpl.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.hibernate.Criteria;
-import org.hibernate.Query;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.hibernate.criterion.Restrictions;
-import org.openecomp.policy.dao.PolicyVersionDao;
-import org.openecomp.policy.rest.jpa.PolicyVersion;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Service("PolicyVersionDao")
-public class PolicyVersionDaoImpl implements PolicyVersionDao {
- private static final Logger logger = FlexLogger.getLogger(PolicyVersionDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
- @SuppressWarnings("unchecked")
- @Override
- public List<PolicyVersion> getPolicyVersionData() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<PolicyVersion> versionData = null;
- try {
- Criteria cr = session.createCriteria(PolicyVersion.class);
- versionData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying PolicyVersion Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return versionData;
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<String> getPolicyVersionDataByName() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<String> data = new ArrayList<String>();
- try {
- Criteria cr = session.createCriteria(PolicyVersion.class);
- List<PolicyVersion> attributeData = cr.list();
- for(int i = 0; i < attributeData.size(); i++){
- data.add(attributeData.get(i).getPolicyName());
- }
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying PolicyVersion Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
- @Override
- public void Save(PolicyVersion policyVersion) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.persist(policyVersion);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving PolicyVersion Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
- @Override
- public void delete(PolicyVersion policyVersion) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.delete(policyVersion);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting PolicyVersion Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
- @Override
- public void update(PolicyVersion policyVersion) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.update(policyVersion);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating PolicyVersion Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<PolicyVersion> getPolicyVersionEntityByName(String policyVersion) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<PolicyVersion> data = null;
- try {
- Criteria cr = session.createCriteria(PolicyVersion.class);
- cr.add(Restrictions.eq("policyName",policyVersion));
- data = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying PolicyVersion Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<PolicyVersion> getActiveVersionPolicy(String query) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<PolicyVersion> data = null;
- try {
- Query hbquery = session.createQuery(query);
- data = hbquery.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying PolicyVersion Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
- @Override
- public void updateQuery(String policyVersion) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- Query hbquery = session.createQuery(policyVersion);
- hbquery.executeUpdate();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating PolicyVersion Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/PrefixListDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/PrefixListDaoImpl.java
deleted file mode 100644
index cc8701361..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/PrefixListDaoImpl.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-//import org.apache.commons.logging.Log;
-//import org.apache.commons.logging.LogFactory;
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.openecomp.policy.rest.dao.PrefixListDao;
-import org.openecomp.policy.rest.jpa.PREFIXLIST;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Service("PrefixListDao")
-public class PrefixListDaoImpl implements PrefixListDao{
- private static final Logger logger = FlexLogger.getLogger(PrefixListDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
- @SuppressWarnings("unchecked")
- @Override
- public List<PREFIXLIST> getPREFIXLISTData() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<PREFIXLIST> attributeData = null;
- try {
- Criteria cr = session.createCriteria(PREFIXLIST.class);
- attributeData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying PREFIXLIST Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return attributeData;
-
- }
-
- @Override
- public void Save(PREFIXLIST attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.persist(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving PREFIXLIST Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public void delete(PREFIXLIST attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.delete(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting PREFIXLIST Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
- @Override
- public void update(PREFIXLIST attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.update(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating PREFIXLIST Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<String> getPrefixListDataByName() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<String> data = new ArrayList<String>();
- try {
- Criteria cr = session.createCriteria(PREFIXLIST.class);
- List<PREFIXLIST> attributeData = cr.list();
- for(int i = 0; i < attributeData.size(); i++){
- data.add(attributeData.get(i).getPrefixListName());
- }
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying PREFIXLIST Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/RemoteCatalogValuesDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/RemoteCatalogValuesDaoImpl.java
deleted file mode 100644
index 5f42ba73e..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/RemoteCatalogValuesDaoImpl.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.openecomp.policy.dao.RemoteCatalogValuesDao;
-import org.openecomp.policy.rest.jpa.RemoteCatalogValues;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Service("RemoteCatalogValuesDao")
-public class RemoteCatalogValuesDaoImpl implements RemoteCatalogValuesDao {
- private static final Logger logger = FlexLogger.getLogger(RemoteCatalogValuesDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
-
- @SuppressWarnings("unchecked")
- @Override
- public List<RemoteCatalogValues> getRemoteCatalogValuesData() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<RemoteCatalogValues> attributeData = null;
- try {
- Criteria cr = session.createCriteria(RemoteCatalogValues.class);
- attributeData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying RemoteCatalogValues Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return attributeData;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<String> getRemoteCatalogValuesDataByName() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<String> data = new ArrayList<String>();
- try {
- Criteria cr = session.createCriteria(RemoteCatalogValues.class);
- List<RemoteCatalogValues> attributeData = cr.list();
- for(int i = 0; i < attributeData.size(); i++){
- data.add(attributeData.get(i).getName());
- }
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying RemoteCatalogValues Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
- @Override
- public void Save(RemoteCatalogValues attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.persist(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving RemoteCatalogValues Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
- @Override
- public void delete(RemoteCatalogValues attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.delete(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting RemoteCatalogValues Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
- @Override
- public void update(RemoteCatalogValues attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.update(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating RemoteCatalogValues Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/RolesDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/RolesDaoImpl.java
deleted file mode 100644
index 7e5c860de..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/RolesDaoImpl.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.List;
-
-import org.hibernate.Criteria;
-import org.hibernate.Query;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.hibernate.criterion.Restrictions;
-import org.openecomp.policy.dao.RolesDao;
-import org.openecomp.policy.model.Roles;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Service("RolesDao")
-public class RolesDaoImpl implements RolesDao{
- private static final Logger logger = FlexLogger.getLogger(RolesDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
- @Override
- public void save(Roles role) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.persist(role);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving Roles Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
- @Override
- public void delete(Roles role) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- System.out.println("delete from Roles where loginid = '"+role.getLoginId()+"'");
- Query q = session.createQuery(" delete from Roles where loginid = '"+role.getLoginId()+"'");
- q.executeUpdate();
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting Roles Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<Roles> getUserRoles(String userId) {
- System.out.println("User Id:"+userId);
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<Roles> rolesData = null;
- try {
- Criteria cr = session.createCriteria(Roles.class);
- cr = cr.add(Restrictions.eq("loginId",userId));
- rolesData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying Roles Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return rolesData;
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/RuleAlgorithmsDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/RuleAlgorithmsDaoImpl.java
deleted file mode 100644
index 149038501..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/RuleAlgorithmsDaoImpl.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.List;
-
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.openecomp.policy.dao.RuleAlgorithmsDao;
-import org.openecomp.policy.rest.jpa.RuleAlgorithms;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Service("RuleAlgorithmsDao")
-public class RuleAlgorithmsDaoImpl implements RuleAlgorithmsDao{
- private static final Logger logger = FlexLogger.getLogger(RuleAlgorithmsDaoImpl.class);
- @Autowired
- SessionFactory sessionFactory;
-
- @SuppressWarnings("unchecked")
- @Override
- public List<RuleAlgorithms> getRuleAlgorithms() {
- Session session = sessionFactory.openSession();
- Transaction tx = session.beginTransaction();
- List<RuleAlgorithms> ruleAlgorithmsData = null;
- try {
- Criteria cr = session.createCriteria(RuleAlgorithms.class);
- ruleAlgorithmsData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying RuleAlgorithms Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return ruleAlgorithmsData;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/SafePolicyWarningDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/SafePolicyWarningDaoImpl.java
deleted file mode 100644
index 209d60b2d..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/SafePolicyWarningDaoImpl.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.hibernate.criterion.Restrictions;
-import org.openecomp.policy.rest.dao.SafePolicyWarningDao;
-import org.openecomp.policy.rest.jpa.SafePolicyWarning;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-@Service("SafePolicyWarningDao")
-public class SafePolicyWarningDaoImpl implements SafePolicyWarningDao {
- private static final Log logger = LogFactory.getLog(SafePolicyWarningDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
- public SessionFactory getSessionfactory() {
- return sessionfactory;
- }
-
- public void setSessionfactory(SessionFactory sessionfactory) {
- this.sessionfactory = sessionfactory;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<SafePolicyWarning> getSafePolicyWarningData() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<SafePolicyWarning> attributeData = null;
- try {
- Criteria cr = session.createCriteria(SafePolicyWarning.class);
- attributeData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying SafePolicyWarning Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return attributeData;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<String> getSafePolicyWarningDataByName() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<String> data = new ArrayList<String>();
- try {
- Criteria cr = session.createCriteria(SafePolicyWarning.class);
- List<SafePolicyWarning> attributeData = cr.list();
- for(int i = 0; i < attributeData.size(); i++){
- data.add(attributeData.get(i).getName());
- }
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying SafePolicyWarning Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
- @Override
- public void Save(SafePolicyWarning attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.persist(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving SafePolicyWarning Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public void delete(SafePolicyWarning attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.delete(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting Attribute Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public void update(SafePolicyWarning attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.update(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating Attribute Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public SafePolicyWarning getSafePolicyWarningDataById(String riskType) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- SafePolicyWarning data = null;
- try {
- Criteria cr = session.createCriteria(SafePolicyWarning.class);
- cr.add(Restrictions.eq("riskType",riskType));
- data = (SafePolicyWarning) cr.list().get(0);
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying SafePolicyWarning Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/SecurityZoneDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/SecurityZoneDaoImpl.java
deleted file mode 100644
index e3661ceb9..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/SecurityZoneDaoImpl.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-//import org.apache.commons.logging.Log;
-//import org.apache.commons.logging.LogFactory;
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.openecomp.policy.rest.dao.SecurityZoneDao;
-import org.openecomp.policy.rest.jpa.SecurityZone;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Service("SecurityZoneDao")
-public class SecurityZoneDaoImpl implements SecurityZoneDao{
- private static final Logger logger = FlexLogger.getLogger(SecurityZoneDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
- @SuppressWarnings("unchecked")
- @Override
- public List<SecurityZone> getSecurityZoneData() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<SecurityZone> attributeData = null;
- try {
- Criteria cr = session.createCriteria(SecurityZone.class);
- attributeData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying SecurityZone Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return attributeData;
-
- }
-
- @Override
- public void Save(SecurityZone attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.persist(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving SecurityZone Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
- @Override
- public void delete(SecurityZone attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.delete(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting SecurityZone Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
- @Override
- public void update(SecurityZone attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.update(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating SecurityZone Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<String> getSecurityZoneDataByName() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<String> data = new ArrayList<String>();
- try {
- Criteria cr = session.createCriteria(SecurityZone.class);
- List<SecurityZone> attributeData = cr.list();
- for(int i = 0; i < attributeData.size(); i++){
- data.add(attributeData.get(i).getZoneName());
- }
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying SecurityZone Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/ServiceGroupDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/ServiceGroupDaoImpl.java
deleted file mode 100644
index f2e9c5be8..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/ServiceGroupDaoImpl.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-//import org.apache.commons.logging.Log;
-//import org.apache.commons.logging.LogFactory;
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.openecomp.policy.rest.dao.ServiceGroupDao;
-import org.openecomp.policy.rest.jpa.GroupServiceList;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Service("ServiceGroupDao")
-public class ServiceGroupDaoImpl implements ServiceGroupDao{
- private static final Logger logger = FlexLogger.getLogger(ServiceGroupDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
- @SuppressWarnings("unchecked")
- @Override
- public List<GroupServiceList> getGroupServiceListData() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<GroupServiceList> attributeData = null;
- try {
- Criteria cr = session.createCriteria(GroupServiceList.class);
- attributeData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying GroupServiceList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return attributeData;
-
- }
-
- @Override
- public void Save(GroupServiceList attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.persist(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving GroupServiceList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public void delete(GroupServiceList attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.delete(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting GroupServiceList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
- @Override
- public void update(GroupServiceList attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.update(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating GroupServiceList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<String> getGroupServiceDataByName() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<String> data = new ArrayList<String>();
- try {
- Criteria cr = session.createCriteria(GroupServiceList.class);
- List<GroupServiceList> attributeData = cr.list();
- for(int i = 0; i < attributeData.size(); i++){
- data.add(attributeData.get(i).getGroupName());
- }
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying GroupServiceList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/ServiceListDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/ServiceListDaoImpl.java
deleted file mode 100644
index 0f80a16d3..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/ServiceListDaoImpl.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-//import org.apache.commons.logging.Log;
-//import org.apache.commons.logging.LogFactory;
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.openecomp.policy.rest.dao.ServiceListDao;
-import org.openecomp.policy.rest.jpa.ServiceList;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Service("ServiceListDao")
-public class ServiceListDaoImpl implements ServiceListDao {
- private static final Logger logger = FlexLogger.getLogger(ServiceListDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
- @SuppressWarnings("unchecked")
- @Override
- public List<ServiceList> getServiceListData() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<ServiceList> attributeData = null;
- try {
- Criteria cr = session.createCriteria(ServiceList.class);
- attributeData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying ServiceList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return attributeData;
-
- }
-
- @Override
- public void Save(ServiceList attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.persist(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving ServiceList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public void delete(ServiceList attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.delete(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting ServiceList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
- @Override
- public void update(ServiceList attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.update(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating ServiceList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<String> getServiceListDataByName() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<String> data = new ArrayList<String>();
- try {
- Criteria cr = session.createCriteria(ServiceList.class);
- List<ServiceList> attributeData = cr.list();
- for(int i = 0; i < attributeData.size(); i++){
- data.add(attributeData.get(i).getServiceName());
- }
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying ServiceList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
-
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/SystemLogDbDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/SystemLogDbDaoImpl.java
deleted file mode 100644
index 927d20f2f..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/SystemLogDbDaoImpl.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.List;
-
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.hibernate.Transaction;
-import org.hibernate.criterion.Restrictions;
-import org.openecomp.policy.conf.HibernateSession;
-import org.openecomp.policy.controller.PolicyController;
-import org.openecomp.policy.dao.SystemLogDbDao;
-import org.openecomp.policy.rest.jpa.SystemLogDB;
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-
-@Service("SystemLogDbDao")
-public class SystemLogDbDaoImpl implements SystemLogDbDao {
- private static final Logger logger = FlexLogger.getLogger(SystemLogDbDaoImpl.class);
- @SuppressWarnings("unchecked")
- @Override
- public List<SystemLogDB> getLoggingData() {
- Session session = HibernateSession.getSession();
- Transaction tx = session.beginTransaction();
- List<SystemLogDB> system = null;
- try {
- String sqlWhere = "date > DATE_SUB(curdate(), INTERVAL 5 DAY) ORDER BY date DESC limit "+PolicyController.logTableLimit+"";
- Criteria cr = session.createCriteria(SystemLogDB.class);
- cr.add(Restrictions.sqlRestriction(sqlWhere));
- system = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying SystemLogDB Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return system;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<SystemLogDB> getSystemAlertData() {
- Session session = HibernateSession.getSession();;
- Transaction tx = session.beginTransaction();
- List<SystemLogDB> system = null;
- try {
- String sqlWhere = "date > DATE_SUB(curdate(), INTERVAL 5 DAY) and logtype = 'error' ORDER BY date DESC limit "+PolicyController.systemAlertTableLimit+"";
- Criteria cr = session.createCriteria(SystemLogDB.class);
- cr.add(Restrictions.sqlRestriction(sqlWhere));
- system = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying SystemLogDB Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return system;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/TermListDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/TermListDaoImpl.java
deleted file mode 100644
index ff8f1f26d..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/TermListDaoImpl.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-//import org.apache.commons.logging.Log;
-//import org.apache.commons.logging.LogFactory;
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.hibernate.criterion.Restrictions;
-import org.openecomp.policy.rest.dao.TermListDao;
-import org.openecomp.policy.rest.jpa.TermList;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Service("TermListDao")
-public class TermListDaoImpl implements TermListDao{
- private static final Logger logger = FlexLogger.getLogger(TermListDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
- @SuppressWarnings("unchecked")
- @Override
- public List<TermList> getTermListData() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<TermList> attributeData = null;
- try {
- Criteria cr = session.createCriteria(TermList.class);
- attributeData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying TermList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return attributeData;
-
- }
-
- @Override
- public void Save(TermList attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.persist(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving TermList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public void delete(TermList attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.delete(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting TermList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
- @Override
- public void update(TermList attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.update(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating TermList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<String> getTermListDataByName() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<String> data = new ArrayList<String>();
- try {
- Criteria cr = session.createCriteria(TermList.class);
- List<TermList> attributeData = cr.list();
- for(int i = 0; i < attributeData.size(); i++){
- data.add(attributeData.get(i).getTermName());
- }
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying TermList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
- @Override
- public TermList getTermListValueByName(String name) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- TermList data = null;
- try {
- Criteria cr = session.createCriteria(TermList.class);
- cr.add(Restrictions.eq("termName",name));
- data = (TermList) cr.list().get(0);
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying TermList Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/UserInfoDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/UserInfoDaoImpl.java
deleted file mode 100644
index ad13b5940..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/UserInfoDaoImpl.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.List;
-
-//import org.apache.commons.logging.Log;
-//import org.apache.commons.logging.LogFactory;
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.openecomp.policy.rest.dao.UserInfoDao;
-import org.openecomp.policy.rest.jpa.UserInfo;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-
-@Service("UserInfoDao")
-public class UserInfoDaoImpl implements UserInfoDao{
- private static final Logger logger = FlexLogger.getLogger(UserInfoDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
- public SessionFactory getSessionfactory() {
- return sessionfactory;
- }
-
- public void setSessionfactory(SessionFactory sessionfactory) {
- this.sessionfactory = sessionfactory;
- }
-
- @Override
- public void save(UserInfo userInfo) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.persist(userInfo);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving UserInfo Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<UserInfo> getUserInfo() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<UserInfo> userData = null;
- try {
- Criteria cr = session.createCriteria(UserInfo.class);
- userData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying UserInfo Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return userData;
- }
-
- @Override
- public String getUserName(String loginid) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- UserInfo user = null;
- try {
- user = (UserInfo) session.get(UserInfo.class, loginid);
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying UserInfo Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return user.getUserName().toString();
- }
-
- @Override
- public UserInfo getUserInfoByLoginId(String loginid) {
- // TODO Auto-generated method stub
- return null;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/VarbindDictionaryDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/VarbindDictionaryDaoImpl.java
deleted file mode 100644
index a24c0e7ad..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/VarbindDictionaryDaoImpl.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-//import org.apache.commons.logging.Log;
-//import org.apache.commons.logging.LogFactory;
-import org.hibernate.Criteria;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.hibernate.criterion.Restrictions;
-import org.openecomp.policy.rest.dao.VarbindDictionaryDao;
-import org.openecomp.policy.rest.jpa.VarbindDictionary;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Service("VarbindDictionaryDao")
-public class VarbindDictionaryDaoImpl implements VarbindDictionaryDao {
- private static final Logger logger = FlexLogger.getLogger(VarbindDictionaryDaoImpl.class);
- @Autowired
- SessionFactory sessionfactory;
-
- @SuppressWarnings("unchecked")
- @Override
- public List<VarbindDictionary> getVarbindDictionaryData() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<VarbindDictionary> varbindDictionaryData = null;
- try {
- Criteria cr = session.createCriteria(VarbindDictionary.class);
- varbindDictionaryData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying VarbindDictionary Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return varbindDictionaryData;
-
- }
-
- @Override
- public void Save(VarbindDictionary varbindDictionary) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.persist(varbindDictionary);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving VarbindDictionary Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public void delete(VarbindDictionary varbindDictionary) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.delete(varbindDictionary);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting VarbindDictionary Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
- @Override
- public void update(VarbindDictionary varbindDictionary) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.update(varbindDictionary);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating VarbindDictionary Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<String> getVarbindDataByName() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<String> data = new ArrayList<String>();
- try {
- Criteria cr = session.createCriteria(VarbindDictionary.class);
- List<VarbindDictionary> varbindDictionaryData = cr.list();
- for(int i = 0; i < varbindDictionaryData.size(); i++){
- data.add(varbindDictionaryData.get(i).getVarbindName());
- }
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying VarbindDictionary Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<VarbindDictionary> getVarbindEntityByName(String value) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<VarbindDictionary> data = null;
- try {
- Criteria cr = session.createCriteria(VarbindDictionary.class);
- cr.add(Restrictions.eq("varbindName",value));
- data = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying VarbindDictionary Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/WatchPolicyNotificationDaoImpl.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/WatchPolicyNotificationDaoImpl.java
deleted file mode 100644
index b4b807fbd..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/daoImp/WatchPolicyNotificationDaoImpl.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.daoImp;
-
-
-import java.util.List;
-
-import org.hibernate.Criteria;
-import org.hibernate.Query;
-import org.hibernate.Session;
-import org.hibernate.SessionFactory;
-import org.hibernate.Transaction;
-import org.hibernate.criterion.Restrictions;
-import org.openecomp.policy.dao.WatchPolicyNotificationDao;
-import org.openecomp.policy.rest.jpa.WatchPolicyNotificationTable;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-@Service("WatchPolicyNotificationDao")
-public class WatchPolicyNotificationDaoImpl implements WatchPolicyNotificationDao{
-
- private static final Logger logger = FlexLogger.getLogger(WatchPolicyNotificationDaoImpl.class);
-
- @Autowired
- SessionFactory sessionfactory;
-
- @SuppressWarnings("unchecked")
- @Override
- public List<WatchPolicyNotificationTable> getListData() {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<WatchPolicyNotificationTable> attributeData =null;
- try {
- Criteria cr = session.createCriteria(WatchPolicyNotificationTable.class);
- attributeData = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying WatchPolicyNotificationTable Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return attributeData;
- }
-
- @Override
- public void save(WatchPolicyNotificationTable attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.persist(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving WatchPolicyNotificationTable Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @Override
- public void delete(WatchPolicyNotificationTable attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.delete(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting WatchPolicyNotificationTable Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- }
-
- @Override
- public void update(WatchPolicyNotificationTable attribute) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- try {
- session.update(attribute);
- tx.commit();
- }catch(Exception e){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating WatchPolicyNotificationTable Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
-
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<WatchPolicyNotificationTable> getListDataByPolicyName(String policyName) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<WatchPolicyNotificationTable> data = null;
- try {
- Criteria cr = session.createCriteria(WatchPolicyNotificationTable.class);
- cr.add(Restrictions.eq("policyName",policyName));
- data = cr.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying WatchPolicyNotificationTable Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public List<WatchPolicyNotificationTable> watchListQuery(String query) {
- Session session = sessionfactory.openSession();
- Transaction tx = session.beginTransaction();
- List<WatchPolicyNotificationTable> data = null;
- try {
- Query hbquery = session.createQuery(query);
- data = hbquery.list();
- tx.commit();
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying WatchPolicyNotificationTable Table"+e);
- }finally{
- try{
- session.close();
- }catch(Exception e1){
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
- }
- }
- return data;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/client/ElkConnector.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/client/ElkConnector.java
deleted file mode 100644
index 617e67ccb..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/client/ElkConnector.java
+++ /dev/null
@@ -1,1235 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.elk.client;
-
-
-import io.searchbox.action.Action;
-import io.searchbox.client.JestClient;
-import io.searchbox.client.JestClientFactory;
-import io.searchbox.client.JestResult;
-import io.searchbox.client.config.HttpClientConfig;
-import io.searchbox.core.Delete;
-import io.searchbox.core.Get;
-import io.searchbox.core.Index;
-import io.searchbox.core.Search;
-import io.searchbox.core.Search.Builder;
-import io.searchbox.indices.IndicesExists;
-import io.searchbox.indices.type.TypeExist;
-import io.searchbox.params.Parameters;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Map.Entry;
-
-import javax.xml.bind.JAXBException;
-
-//import org.apache.commons.logging.Log;
-//import org.apache.commons.logging.LogFactory;
-import org.elasticsearch.index.query.QueryBuilders;
-import org.elasticsearch.index.query.QueryStringQueryBuilder;
-import org.elasticsearch.search.builder.SearchSourceBuilder;
-import org.kohsuke.args4j.CmdLineException;
-import org.kohsuke.args4j.CmdLineParser;
-import org.kohsuke.args4j.Option;
-import org.openecomp.policy.elk.converter.ElkRecord;
-import org.openecomp.policy.elk.converter.Xacml2Elk;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.google.gson.Gson;
-import com.google.gson.JsonArray;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-public interface ElkConnector {
-
- public static final String ELK_URL = "http://localhost:9200";
- public static final String ELK_INDEX_POLICY = "policy";
-
- public enum PolicyIndexType {
- config,
- action,
- decision,
- closedloop,
- all,
- }
-
- public enum PolicyType {
- Config,
- Action,
- Decision,
- Config_Fault,
- Config_PM,
- Config_FW,
- Config_MS,
- none,
- }
-
- public enum PolicyBodyType {
- json,
- xml,
- properties,
- txt,
- none,
- }
-
- public ElkRecord create(PolicyType type, String name, String owner, String scope,
- File xacmlFile, PolicyBodyType bodyType, String body,
- File destinationDir)
- throws IllegalStateException;
-
- public boolean testAndUpdate(File xacmlFile) throws IllegalStateException;
-
- public JestResult policy(String policyId)
- throws IllegalStateException, IllegalArgumentException;
-
- public boolean clone(String origPolicyId, String clonePolicyId)
- throws IllegalStateException;
-
- public boolean delete(File xacmlFile)
- throws IllegalStateException;
-
- public ArrayList<PolicyLocator> policyLocators(PolicyIndexType type, String text,int connector)
- throws IllegalStateException, IllegalArgumentException;
-
- public ArrayList<PolicyLocator> policyLocators(PolicyIndexType type, String text,
- ArrayList<Pair<ArrayList<String>,ArrayList<String>>> filter_s,int connector)
- throws IllegalStateException, IllegalArgumentException;
-
- public JestResult search(PolicyIndexType type, String text)
- throws IllegalStateException, IllegalArgumentException;
-
- public JestResult search(PolicyIndexType type, String text,
- ArrayList<Pair<ArrayList<String>,ArrayList<String>>> filter_s)
- throws IllegalStateException, IllegalArgumentException;
-
- public boolean update(File xacmlFile) throws IllegalStateException;
-
- public ElkConnector singleton = new ElkConnectorImpl();
-
- public static PolicyIndexType toPolicyIndexType(PolicyType type)
- throws IllegalArgumentException {
- if (type == null)
- throw new IllegalArgumentException("Unsupported NULL type conversion");
-
- switch(type) {
- case Config:
- return PolicyIndexType.config;
- case Action:
- return PolicyIndexType.action;
- case Decision:
- return PolicyIndexType.decision;
- case Config_Fault:
- return PolicyIndexType.closedloop;
- case Config_PM:
- return PolicyIndexType.closedloop;
- case Config_FW:
- return PolicyIndexType.config;
- case Config_MS:
- return PolicyIndexType.config;
- case none:
- return PolicyIndexType.all;
- default:
- throw new IllegalArgumentException("Unsupported type conversion to index: " + type.name());
- }
- }
-
- public static PolicyIndexType toPolicyIndexType(String policyName)
- throws IllegalArgumentException {
- if (policyName == null)
- throw new IllegalArgumentException("Unsupported NULL policy name conversion");
-
- if (policyName.startsWith("Config_Fault")) {
- return PolicyIndexType.closedloop;
- } else if (policyName.startsWith("Config_PM")) {
- return PolicyIndexType.closedloop;
- } else if (policyName.startsWith("Config_FW")) {
- return PolicyIndexType.config;
- } else if (policyName.startsWith("Config_MS")) {
- return PolicyIndexType.config;
- }else if (policyName.startsWith("Action")) {
- return PolicyIndexType.action;
- } else if (policyName.startsWith("Decision")) {
- return PolicyIndexType.decision;
- } else if (policyName.startsWith("Config")) {
- return PolicyIndexType.config;
- } else {
- throw new IllegalArgumentException
- ("Unsupported policy name conversion to index: " +
- policyName);
- }
- }
-
- public static PolicyType toPolicyType(String policyName)
- throws IllegalArgumentException {
- if (policyName == null)
- throw new IllegalArgumentException("Unsupported NULL policy name conversion to Policy Type");
-
- if (policyName.startsWith("Config_Fault")) {
- return PolicyType.Config_Fault;
- } else if (policyName.startsWith("Config_PM")) {
- return PolicyType.Config_PM;
- } else if (policyName.startsWith("Config_FW")) {
- return PolicyType.Config_FW;
- } else if (policyName.startsWith("Config_MS")) {
- return PolicyType.Config_MS;
- }else if (policyName.startsWith("Action")) {
- return PolicyType.Action;
- } else if (policyName.startsWith("Decision")) {
- return PolicyType.Decision;
- } else if (policyName.startsWith("Config")) {
- return PolicyType.Config;
- } else {
- throw new IllegalArgumentException
- ("Unsupported policy name conversion to index: " +
- policyName);
- }
- }
-
- public static void main(String args[])
- throws JAXBException, IOException, CmdLineException, IllegalStateException {
- ElkConnectorImpl.CLIOptions cliOptions = new ElkConnectorImpl.CLIOptions();
- CmdLineParser cliParser= new CmdLineParser(cliOptions);
- try {
- cliParser.parseArgument(args);
- } catch (CmdLineException e) {
- System.out.println("Usage: ElkConnector");
- cliParser.printUsage(System.out);
- throw e;
- }
-
- if (cliOptions.searchText != null && !cliOptions.searchText.isEmpty()) {
- ArrayList<PolicyLocator> locators =
- ElkConnector.singleton.policyLocators(PolicyIndexType.all, cliOptions.searchText,0);
- for (PolicyLocator l: locators) {
- System.out.println(l);
- }
- } else if (cliOptions.testFile != null && cliOptions.testFile.canRead()) {
- boolean ok = ElkConnector.singleton.testAndUpdate(cliOptions.testFile);
- System.out.println(cliOptions.testFile.getName() + ":" + ok);
- }
- }
-}
-
-class ElkConnectorImpl implements ElkConnector {
-
- protected static class CLIOptions {
- @Option(name="-s", usage="search", aliases={"-search", "--search"}, required=false, metaVar="<search text>")
- protected String searchText;
-
- @Option(name="-e", usage="test and update policy if not exists", aliases={"-exist", "--exists"}, required=false, metaVar="<policy file>")
- protected File testFile;
-
- @Option(name = "-h", aliases = {"-help", "--help"}, usage = "print this message")
- private boolean help = false;
- };
-
- private static final String POLICY_RESULT_FIELDS = "[ \"Policy.PolicyType\", " +
- "\"Policy.PolicyName\", " +
- "\"Policy.Owner\", " +
- "\"Policy.Scope\", " +
- "\"Policy.PolicyId\", " +
- "\"Policy.Version\" ]";
-
- private static final String SOURCE_RESULT_FIELDS = "\"_source\": " + POLICY_RESULT_FIELDS;
-
- private static final Logger logger = FlexLogger.getLogger(ElkConnector.class);
-
- protected final JestClientFactory jestFactory = new JestClientFactory();
- protected final JestClient jestClient;
- protected static int QUERY_MAXRECORDS = 1000;
-
- public ElkConnectorImpl() {
- if (logger.isDebugEnabled()) logger.debug("ENTER: -");
-
- HttpClientConfig jestClientConfig =
- new HttpClientConfig.Builder(ELK_URL).multiThreaded(true).build();
- jestFactory.setHttpClientConfig(jestClientConfig);
- jestClient = jestFactory.getObject();
- }
-
- protected boolean isType(PolicyIndexType type) throws IOException {
- if (logger.isDebugEnabled()) logger.debug("ENTER: -");
-
- try {
- Action<JestResult> typeQuery = new TypeExist.Builder(ELK_INDEX_POLICY).
- addType(type.toString()).
- build();
- JestResult result = jestClient.execute(typeQuery);
-
- if (logger.isInfoEnabled()) {
- logger.info("JSON:" + result.getJsonString());
- logger.info("ERROR:" + result.getErrorMessage());
- logger.info("PATH:" + result.getPathToResult());
- logger.info(result.getJsonObject());
- }
- return result.isSucceeded();
- } catch (IOException e) {
- logger.warn("Error checking type existance of " + type.toString() +
- ": " + e.getMessage(), e);
- throw e;
- }
- }
-
- protected boolean isIndex() throws IOException {
- try {
- Action<JestResult> indexQuery =
- new IndicesExists.Builder(ELK_INDEX_POLICY).build();
-
- JestResult result = jestClient.execute(indexQuery);
- if (logger.isInfoEnabled()) {
- logger.info("JSON:" + result.getJsonString());
- logger.info("ERROR:" + result.getErrorMessage());
- logger.info("PATH:" + result.getPathToResult());
- logger.info(result.getJsonObject());
- }
- return result.isSucceeded();
- } catch (IOException e) {
- logger.warn("Error checking index existance of " +
- ELK_INDEX_POLICY +
- ": " + e.getMessage(), e);
- throw e;
- }
- }
-
- @Override
- public JestResult search(PolicyIndexType type, String text) throws IllegalStateException, IllegalArgumentException {
- if (logger.isTraceEnabled())
- logger.trace("ENTER: " + text);
-
- if (text == null || text.isEmpty()) {
- throw new IllegalArgumentException("No search string provided");
- }
-
- // MatchQueryBuilder mQ = QueryBuilders.matchQuery("_all", text);
- QueryStringQueryBuilder mQ = QueryBuilders.queryStringQuery(text);
- SearchSourceBuilder searchSourceBuilder =
- new SearchSourceBuilder().query(mQ).
- fetchSource(new String[]{"Policy.PolicyType",
- "Policy.PolicyName",
- "Policy.Owner",
- "Policy.Scope",
- "Policy.PolicyId",
- "Policy.Version"},
- null);
- Builder searchBuilder = new Search.Builder(searchSourceBuilder.toString()).
- addIndex(ELK_INDEX_POLICY).
- setParameter(Parameters.SIZE, ElkConnectorImpl.QUERY_MAXRECORDS);
-
- if (type == null || type == PolicyIndexType.all) {
- for (PolicyIndexType pT: PolicyIndexType.values()) {
- if (pT != PolicyIndexType.all) {
- searchBuilder.addType(pT.toString());
- }
- }
- } else {
- searchBuilder.addType(type.toString());
- }
-
- Search search = searchBuilder.build();
-
- JestResult result;
- try {
- result = jestClient.execute(search);
- } catch (IOException ioe) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR + ":" +
- search + ": " + ioe.getMessage(), ioe);
- throw new IllegalStateException(ioe);
- }
-
- if (result.isSucceeded()) {
- if (logger.isInfoEnabled())
- logger.info("OK:" + result.getResponseCode() + ":" + search + ": " +
- result.getPathToResult() + ":" + System.lineSeparator() +
- result.getJsonString());
- } else {
- /* Unsuccessful search */
- if (logger.isWarnEnabled())
- logger.warn(XACMLErrorConstants.ERROR_PROCESS_FLOW + ":" +
- result.getResponseCode() + ": " +
- search.getURI() + ":" +
- result.getPathToResult() + ":" +
- result.getJsonString() + ":" +
- result.getErrorMessage());
-
- String errorMessage = result.getErrorMessage();
- if (errorMessage != null && !errorMessage.isEmpty()) {
- String xMessage = errorMessage;
- if (errorMessage.contains("TokenMgrError")) {
- int indexError = errorMessage.lastIndexOf("TokenMgrError");
- xMessage = "Invalid Search Expression. Details: " + errorMessage.substring(indexError);
- } else if (errorMessage.contains("QueryParsingException")) {
- int indexError = errorMessage.lastIndexOf("QueryParsingException");
- xMessage = "Invalid Search Expression. Details: " + errorMessage.substring(indexError);
- } else if (errorMessage.contains("JsonParseException")) {
- int indexError = errorMessage.lastIndexOf("JsonParseException");
- xMessage = "Invalid Search Expression. Details: " + errorMessage.substring(indexError);
- } else if (errorMessage.contains("Parse Failure")) {
- int indexError = errorMessage.lastIndexOf("Parse Failure");
- xMessage = "Invalid Search Expression. Details: " + errorMessage.substring(indexError);
- } else if (errorMessage.contains("SearchParseException")) {
- int indexError = errorMessage.lastIndexOf("SearchParseException");
- xMessage = "Invalid Search Expression. Details: " + errorMessage.substring(indexError);
- } else {
- xMessage = result.getErrorMessage();
- }
- throw new IllegalStateException(xMessage);
- }
- }
-
- return result;
- }
-
- public JestResult searchKey(PolicyIndexType type, String text,
- ArrayList<Pair<ArrayList<String>,ArrayList<String>>> filter_s,int connector)
- throws IllegalStateException, IllegalArgumentException {
- if (logger.isTraceEnabled())
- logger.trace("ENTER: " + text);
-
- if (filter_s == null || filter_s.size() <= 0) {
- return search(type, text);
- }
-
- String matches_s = "";
-
- if(connector==0)// AND CONNECTOR
- {
- matches_s = "{\n" +
- " " + SOURCE_RESULT_FIELDS + ",\n" +
- " \"size\" : "+ ElkConnectorImpl.QUERY_MAXRECORDS + ",\n" +
- " \"query\": {\n" +
- " \"bool\" : {\n" +
- " \"must\" : [";
- }
- else if (connector ==1)//OR CONNECTOR
- {
- matches_s = "{\n" +
- " " + SOURCE_RESULT_FIELDS + ",\n" +
- " \"size\" : "+ ElkConnectorImpl.QUERY_MAXRECORDS + ",\n" +
- " \"query\": {\n" +
- " \"bool\" : {\n" +
- " \"should\" : [";
- }
-
- for (Pair<ArrayList<String>,ArrayList<String>> p : filter_s) {
- ArrayList<String> name_s = p.left();
- ArrayList<String> value_s = p.right();
-
- if (name_s == null || name_s.size() <= 0) {
- if (logger.isWarnEnabled())
- logger.warn("Defaulting to text search: Empty field name array passed in");
- return search(type, text);
- }
-
- if (logger.isDebugEnabled()) {
- for (String n: name_s) {
- logger.debug("Filter Name: " + n);
- }
- }
-
- if (value_s == null || value_s.size() <= 0) {
- if (logger.isWarnEnabled())
- logger.warn("Defaulting to text search: Empty field value array passed in");
- return search(type, text);
- }
-
- if (logger.isDebugEnabled()) {
- for (String v: value_s) {
- logger.debug("Filter Value: " + v);
- }
- }
-
- /* common case: # filter names == # filter values */
- if (name_s.size() == value_s.size()) {
- String match = "";
- for (int i=0; i<name_s.size(); i++) {
- if (name_s.get(i).contains("*")) {
- match =
- "{ \"query_string\": { \"fields\": [ \"" +
- name_s.get(i) + "\" ], " +
- "\"query\" : \"" +
- value_s.get(i) + "\" } },";
- } else {
- match =
- "{ \"match_phrase\": { \"" +
- name_s.get(i) + "\" : \"" +
- value_s.get(i) + "\" } },";
- }
- if (logger.isDebugEnabled())
- logger.debug("Adding Match Line: " + match);
- matches_s = matches_s + "\n " + match;
- }
- }
- else if (name_s.size() > value_s.size() && (value_s.size() == 1)) {
- String match =
- "{ \"multi_match\": { \"query\": \"" + value_s.get(0) + "\", \"type\": \"phrase\", \"fields\": [";
- for (String n: name_s) {
- match += " \"" + n + "\",";
- }
- match = match.substring(0, match.length()-1);
- //match += " ] } },";
- match += " ] } },";//debug
- if (logger.isDebugEnabled())
- logger.debug("Adding Match Line: " + match);
- matches_s = matches_s + "\n " + match;
- } else {
- if (logger.isWarnEnabled())
- logger.warn("Defaulting to text search: different number of filter names and values");
- return search(type, text);
- }
- }
-
- matches_s = matches_s.substring(0, matches_s.length()-1); // remove last comma
-
- matches_s = matches_s +
- " ]\n" +
- " }\n" +
- " }\n" +
- "}";
-
- if (logger.isDebugEnabled()) {
- logger.debug(matches_s);
- }
-
- Builder searchBuilder = new Search.Builder(matches_s).
- addIndex(ELK_INDEX_POLICY);
-
- if (type == null || type == PolicyIndexType.all) {
- for (PolicyIndexType pT: PolicyIndexType.values()) {
- if (pT != PolicyIndexType.all) {
- searchBuilder.addType(pT.toString());
- }
- }
- } else {
- searchBuilder.addType(type.toString());
- }
-
- Search search = searchBuilder.build();
-
- JestResult result;
- try {
- result = jestClient.execute(search);
- } catch (IOException ioe) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR + ":" +
- search + ": " + ioe.getMessage(), ioe);
- throw new IllegalStateException(ioe);
- }
-
- if (result.isSucceeded()) {
- if (logger.isInfoEnabled())
- logger.info("OK:" + result.getResponseCode() + ":" + search + ": " +
- result.getPathToResult() + ":" + System.lineSeparator() +
- result.getJsonString());
- } else {
- /* Unsuccessful search */
- if (logger.isWarnEnabled())
- logger.warn(XACMLErrorConstants.ERROR_PROCESS_FLOW + ":" +
- result.getResponseCode() + ": " +
- search.getURI() + ":" +
- result.getPathToResult() + ":" +
- result.getJsonString() + ":" +
- result.getErrorMessage());
-
- String errorMessage = result.getErrorMessage();
- if (errorMessage != null && !errorMessage.isEmpty()) {
- String xMessage = errorMessage;
- if (errorMessage.contains("TokenMgrError")) {
- int indexError = errorMessage.lastIndexOf("TokenMgrError");
- xMessage = "Invalid Search Expression. Details: " + errorMessage.substring(indexError);
- } else if (errorMessage.contains("QueryParsingException")) {
- int indexError = errorMessage.lastIndexOf("QueryParsingException");
- xMessage = "Invalid Search Expression. Details: " + errorMessage.substring(indexError);
- } else if (errorMessage.contains("JsonParseException")) {
- int indexError = errorMessage.lastIndexOf("JsonParseException");
- xMessage = "Invalid Search Expression. Details: " + errorMessage.substring(indexError);
- } else if (errorMessage.contains("Parse Failure")) {
- int indexError = errorMessage.lastIndexOf("Parse Failure");
- xMessage = "Invalid Search Expression. Details: " + errorMessage.substring(indexError);
- } else if (errorMessage.contains("SearchParseException")) {
- int indexError = errorMessage.lastIndexOf("SearchParseException");
- xMessage = "Invalid Search Expression. Details: " + errorMessage.substring(indexError);
- } else {
- xMessage = result.getErrorMessage();
- }
- throw new IllegalStateException(xMessage);
- }
- }
-
- return result;
- }
-
-
- @Override
- public JestResult search(PolicyIndexType type, String text,
- ArrayList<Pair<ArrayList<String>,ArrayList<String>>> filter_s)
- throws IllegalStateException, IllegalArgumentException {
- if (logger.isTraceEnabled())
- logger.trace("ENTER: " + text);
-
- if (filter_s == null || filter_s.size() <= 0) {
- return search(type, text);
- }
-
- String matches_s = "";
- matches_s = "{\n" +
- " " + SOURCE_RESULT_FIELDS + ",\n" +
- " \"size\" : "+ ElkConnectorImpl.QUERY_MAXRECORDS + ",\n" +
- " \"query\": {\n" +
- " \"bool\" : {\n" +
- " \"must\" : [";
- for (Pair<ArrayList<String>,ArrayList<String>> p : filter_s) {
- ArrayList<String> name_s = p.left();
- ArrayList<String> value_s = p.right();
-
- if (name_s == null || name_s.size() <= 0) {
- if (logger.isWarnEnabled())
- logger.warn("Defaulting to text search: Empty field name array passed in");
- return search(type, text);
- }
-
- if (logger.isDebugEnabled()) {
- for (String n: name_s) {
- logger.debug("Filter Name: " + n);
- }
- }
-
- if (value_s == null || value_s.size() <= 0) {
- if (logger.isWarnEnabled())
- logger.warn("Defaulting to text search: Empty field value array passed in");
- return search(type, text);
- }
-
- if (logger.isDebugEnabled()) {
- for (String v: value_s) {
- logger.debug("Filter Value: " + v);
- }
- }
-
- /* common case: # filter names == # filter values */
- if (name_s.size() == value_s.size()) {
- String match = "";
- for (int i=0; i<name_s.size(); i++) {
- if (name_s.get(i).contains("*")) {
- match =
- "{ \"query_string\": { \"fields\": [ \"" +
- name_s.get(i) + "\" ], " +
- "\"query\" : \"" +
- value_s.get(i) + "\" } },";
- } else {
- match =
- "{ \"match_phrase\": { \"" +
- name_s.get(i) + "\" : \"" +
- value_s.get(i) + "\" } },";
- }
- if (logger.isDebugEnabled())
- logger.debug("Adding Match Line: " + match);
- matches_s = matches_s + "\n " + match;
- }
- } else if (name_s.size() > value_s.size() && (value_s.size() == 1)) {
- String match =
- "{ \"multi_match\": { \"query\": \"" + value_s.get(0) + "\", \"type\": \"phrase\", \"fields\": [";
- for (String n: name_s) {
- match += " \"" + n + "\",";
- }
- match = match.substring(0, match.length()-1);
- match += " ] } },";
- if (logger.isDebugEnabled())
- logger.debug("Adding Match Line: " + match);
- matches_s = matches_s + "\n " + match;
- } else {
- if (logger.isWarnEnabled())
- logger.warn("Defaulting to text search: different number of filter names and values");
- return search(type, text);
- }
- }
- if (text != null && !text.isEmpty()) {
- if (logger.isDebugEnabled())
- logger.debug("Adding Match Line for search text: " + text);
-
- final JsonObject jsonText = new JsonObject();
- jsonText.addProperty("_all", text);
- String escapedText = jsonText.toString();
-
- matches_s = matches_s + "\n " +
- "{ \"match\": " +
- escapedText + " },";
- }
- matches_s = matches_s.substring(0, matches_s.length()-1); // remove last comma
- matches_s = matches_s + "\n" +
- " ]\n" +
- " }\n" +
- " }\n" +
- "}";
-
- if (logger.isDebugEnabled()) {
- logger.debug(matches_s);
- }
-
- Builder searchBuilder = new Search.Builder(matches_s).
- addIndex(ELK_INDEX_POLICY);
-
- if (type == null || type == PolicyIndexType.all) {
- for (PolicyIndexType pT: PolicyIndexType.values()) {
- if (pT != PolicyIndexType.all) {
- searchBuilder.addType(pT.toString());
- }
- }
- } else {
- searchBuilder.addType(type.toString());
- }
-
- Search search = searchBuilder.build();
-
- JestResult result;
- try {
- result = jestClient.execute(search);
- } catch (IOException ioe) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR + ":" +
- search + ": " + ioe.getMessage(), ioe);
- throw new IllegalStateException(ioe);
- }
-
- if (result.isSucceeded()) {
- if (logger.isInfoEnabled())
- logger.info("OK:" + result.getResponseCode() + ":" + search + ": " +
- result.getPathToResult() + ":" + System.lineSeparator() +
- result.getJsonString());
- } else {
- /* Unsuccessful search */
- if (logger.isWarnEnabled())
- logger.warn(XACMLErrorConstants.ERROR_PROCESS_FLOW + ":" +
- result.getResponseCode() + ": " +
- search.getURI() + ":" +
- result.getPathToResult() + ":" +
- result.getJsonString() + ":" +
- result.getErrorMessage());
-
- String errorMessage = result.getErrorMessage();
- if (errorMessage != null && !errorMessage.isEmpty()) {
- String xMessage = errorMessage;
- if (errorMessage.contains("TokenMgrError")) {
- int indexError = errorMessage.lastIndexOf("TokenMgrError");
- xMessage = "Invalid Search Expression. Details: " + errorMessage.substring(indexError);
- } else if (errorMessage.contains("QueryParsingException")) {
- int indexError = errorMessage.lastIndexOf("QueryParsingException");
- xMessage = "Invalid Search Expression. Details: " + errorMessage.substring(indexError);
- } else if (errorMessage.contains("JsonParseException")) {
- int indexError = errorMessage.lastIndexOf("JsonParseException");
- xMessage = "Invalid Search Expression. Details: " + errorMessage.substring(indexError);
- } else if (errorMessage.contains("Parse Failure")) {
- int indexError = errorMessage.lastIndexOf("Parse Failure");
- xMessage = "Invalid Search Expression. Details: " + errorMessage.substring(indexError);
- } else if (errorMessage.contains("SearchParseException")) {
- int indexError = errorMessage.lastIndexOf("SearchParseException");
- xMessage = "Invalid Search Expression. Details: " + errorMessage.substring(indexError);
- } else {
- xMessage = result.getErrorMessage();
- }
- throw new IllegalStateException(xMessage);
- }
- }
-
- return result;
- }
-
- @Override
- public JestResult policy(String policyId)
- throws IllegalStateException, IllegalArgumentException {
- if (logger.isTraceEnabled())
- logger.trace("ENTER: " + policyId);
-
- if (policyId == null || policyId.isEmpty()) {
- throw new IllegalArgumentException("No policy id string provided");
- }
-
- Get policyRequest = new Get.Builder(ELK_INDEX_POLICY, policyId).build();
-
- if (logger.isInfoEnabled())
- logger.info("ELK Search body request: " + policyRequest.toString());
-
- JestResult result;
- try {
- result = jestClient.execute(policyRequest);
- } catch (IOException ioe) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR + ":" +
- policyId + ": " + ioe.getMessage(), ioe);
- throw new IllegalStateException(ioe);
- }
-
- if (result.isSucceeded()) {
- if (logger.isInfoEnabled())
- logger.info("OK:" + result.getResponseCode() + ":" + policyId + ":" +
- result.getPathToResult() + ":" + System.lineSeparator() +
- result.getJsonString());
-
- return result;
- }
-
- /* Unsuccessful search */
- if (logger.isWarnEnabled())
- logger.warn(XACMLErrorConstants.ERROR_PROCESS_FLOW + ":" +
- result.getResponseCode() + ": " + policyId + ":" +
- result.getPathToResult() + ":" +
- result.getErrorMessage());
-
- return result;
- }
-
- protected JsonObject getJsonObject(JsonObject jsonObject, String member) throws IllegalArgumentException {
- if (jsonObject == null) {
- if (logger.isWarnEnabled())
- logger.warn("No JSON object provided to get " + member);
-
- throw new IllegalArgumentException("No JSON Object provided");
- }
-
- if (logger.isTraceEnabled()) {
- logger.trace("ENTER: " + member);
- for (Entry<String, JsonElement> entry: jsonObject.entrySet()) {
- logger.trace("JSONOBJECT: " + entry.getKey() + "->" + entry.getValue());
- }
- }
-
- if (jsonObject.has(member)) {
- JsonElement element = jsonObject.getAsJsonObject(member);
- if (element.isJsonObject()) {
- return (JsonObject) element;
- }
- }
-
- throw new IllegalArgumentException(member + " is not a JSON Object");
- }
-
- protected JsonArray getJsonArray(JsonObject jsonObject, String member) throws IllegalArgumentException {
- if (jsonObject == null) {
- throw new IllegalArgumentException("No JSON Object provided");
- }
-
- if (jsonObject.has(member)) {
- if (jsonObject.get(member).isJsonArray()) {
- return (JsonArray) jsonObject.get(member);
- }
- }
-
- throw new IllegalArgumentException(member + " is not a JSON Array");
- }
-
- protected String getJsonPolicyMember(JsonObject aHit, String member) throws IllegalArgumentException {
- if (aHit == null) {
- throw new IllegalArgumentException("No JSON Object provided");
- }
-
- JsonObject jSource = getJsonObject(aHit, "_source");
- JsonObject jPolicy = getJsonObject(jSource, "Policy");
- JsonElement jMember = jPolicy.get(member);
- if (jMember == null) {
- throw new IllegalArgumentException(member + " is not a JSON Object");
- }
- return jMember.getAsString();
- }
-
- @Override
- public ArrayList<PolicyLocator> policyLocators(PolicyIndexType indexType, String text, int connector)
- throws IllegalStateException, IllegalArgumentException {
- return policyLocators(indexType, text, new ArrayList<Pair<ArrayList<String>,ArrayList<String>>>(),connector);
- }
-
- @Override
- public ArrayList<PolicyLocator> policyLocators(PolicyIndexType indexType,
- String text,
- ArrayList<Pair<ArrayList<String>,ArrayList<String>>> filter_s, int connector)
- throws IllegalStateException, IllegalArgumentException {
- final ArrayList<PolicyLocator> policyLocators = new ArrayList<PolicyLocator>();
-
- JestResult results = searchKey(indexType, text, filter_s,connector);
- if (!results.isSucceeded()) {
- return policyLocators;
- }
-
- JsonArray jsonHit_s = null;
- try {
- JsonObject jsonHits = getJsonObject(results.getJsonObject(), "hits");
- jsonHit_s = getJsonArray(jsonHits, "hits");
- } catch (IllegalArgumentException e) {
- logger.warn("SEARCH:" + text + " no valid element provided", e);
- return policyLocators;
- }
-
- for (JsonElement e : jsonHit_s) {
- JsonObject elkSource = (JsonObject) e;
- try {
- String policyType = getJsonPolicyMember(elkSource,"PolicyType");
- String policyName = getJsonPolicyMember(elkSource,"PolicyName");
- String owner = getJsonPolicyMember(elkSource,"Owner");
- String scope = getJsonPolicyMember(elkSource,"Scope");
- String policyId = getJsonPolicyMember(elkSource,"PolicyId");
- String version = getJsonPolicyMember(elkSource,"Version");
- PolicyLocator policyLocator =
- new PolicyLocator(policyType, policyName, owner,
- scope, policyId, version);
- policyLocators.add(policyLocator);
- if (logger.isInfoEnabled()) {
- logger.info("SEARCH:" + text + "|FOUND:" + policyLocator);
- }
- } catch (IllegalArgumentException ex) {
- logger.warn("SEARCH:" + text + " missing locator information.", ex);
- }
- }
- return policyLocators;
- }
-
- public boolean put(String record, PolicyType type, String id)
- throws IOException, IllegalStateException {
- if (logger.isTraceEnabled()) logger.trace("ENTER");
-
- PolicyIndexType indexType;
- try {
- indexType = ElkConnector.toPolicyIndexType(type);
- } catch (IllegalArgumentException e) {
- throw new IllegalStateException("ELK: Index: " + ELK_INDEX_POLICY +
- " Type: " + type + " :" + e.getMessage());
- }
-
- if (indexType == PolicyIndexType.all) {
- throw new IllegalStateException("ELK: Index: " + ELK_INDEX_POLICY +
- " Bad Type: " + type.toString());
- }
-
- if (!isType(indexType)) {
- throw new IllegalStateException("ELK: Index: " + ELK_INDEX_POLICY +
- " Type: " + type.toString() +
- " is not configured");
- }
-
- Index elkPut = new Index.Builder(record).
- index(ELK_INDEX_POLICY).
- type(indexType.name()).
- id(id).
- build();
-
- JestResult result = jestClient.execute(elkPut);
-
- if (result.isSucceeded()) {
- if (logger.isInfoEnabled())
- logger.info("OK: PUT operation of " + type.name() + "->" + indexType + ":" + id + ": " +
- "success=" + result.isSucceeded() + "[" + result.getResponseCode() + ":" +
- result.getPathToResult() + "]" + System.lineSeparator() +
- result.getJsonString());
- } else {
- if (logger.isWarnEnabled())
- logger.warn("FAILURE: PUT operation of " + type.name() + "->" + indexType + ":" + id + ": " +
- "success=" + result.isSucceeded() + "[" + result.getResponseCode() + ":" +
- result.getPathToResult() + "]" + System.lineSeparator() +
- result.getJsonString());
-
- }
-
- return result.isSucceeded();
- }
-
- @Override
- public boolean clone(String origPolicyId, String clonePolicyId)
- throws IllegalStateException {
- if (logger.isTraceEnabled()) logger.trace("ENTER");
-
- String methodLog = "[" +
- "original-policy-id:" + origPolicyId + "|" +
- "cloned-policy-id:" + clonePolicyId + "]";
-
- if (logger.isDebugEnabled())
- logger.debug(methodLog);
-
- if (origPolicyId == null || clonePolicyId == null ||
- origPolicyId.isEmpty() || clonePolicyId.isEmpty()) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR + ":" +
- "Internal Error: original and cloned policy ids are identical: " +
- origPolicyId + "->" + clonePolicyId + " :" +
- methodLog);
- throw new IllegalStateException(": " + "original and cloned policy ids are identical.");
- }
-
- // GET original record
- JestResult result = this.policy(origPolicyId);
- if (!result.isSucceeded()) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR + ":" +
- "Internal Error: not found policy id: " +
- origPolicyId + " :" +
- methodLog);
- throw new IllegalStateException(": " + "policy id: " + origPolicyId + " not found");
- }
-
- try {
- String policyId = getJsonPolicyMember(result.getJsonObject(),"PolicyId");
- String policyType = getJsonPolicyMember(result.getJsonObject(),"PolicyType");
- if (policyType == null || policyType.isEmpty()) {
- throw new IllegalStateException(": " + origPolicyId +
- " invalid policy type: " + policyType);
- }
- PolicyType policyTypeEnum = PolicyType.valueOf(policyType);
- String newPolicyId = policyId.replace(origPolicyId, clonePolicyId);
-
- JsonObject jsonSource = getJsonObject(result.getJsonObject(), "_source");
- JsonObject jsonPolicy = getJsonObject(jsonSource, "Policy");
- jsonPolicy.addProperty("PolicyId", newPolicyId);
- String sourcePolicy = new Gson().toJson(jsonPolicy);
- return put(sourcePolicy, policyTypeEnum, clonePolicyId);
- } catch (IllegalArgumentException e) {
- logger.warn("POLICY-SEARCH:" + origPolicyId + " not properly found", e);
- throw new IllegalStateException(": " + origPolicyId + " not found in ELK");
- } catch (IOException e) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR + ":" +
- "cannot create searchable record for " + methodLog +
- ". Reason: " + e.getMessage(), e);
- throw new IllegalStateException(": Communication Problem with ELK server");
- }
- }
-
- @Override
- public boolean delete(File xacmlFile) throws IllegalStateException {
- if (logger.isDebugEnabled())
- logger.debug("ENTER: " + "[xacml-file:" +
- ((xacmlFile != null) ? xacmlFile.getPath() : "null")+ "]");
-
- if (xacmlFile == null || !xacmlFile.canRead()) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR + ":" +
- "Internal Error: invalid arguments provided: " +
- ((xacmlFile != null) ? xacmlFile.getPath() : "null")+ "]");
- throw new IllegalStateException(": " + "Invalid arguments to convert to ELK format.");
- }
-
- String policyId = "";
- PolicyIndexType indexType = null;
- JestResult result;
- try {
- indexType = ElkConnector.toPolicyIndexType(xacmlFile.getName());
- if (!isType(indexType)) {
- throw new IllegalStateException("ELK: Index: " + ELK_INDEX_POLICY +
- " Type: " + indexType +
- " is not configured");
- }
- Xacml2Elk searchablePolicy = new Xacml2Elk(xacmlFile, true);
- policyId = searchablePolicy.getPolicy().getValue().getPolicyId();
- policyId = policyId.substring(policyId.lastIndexOf(":")+1);
- Delete deleteRequest =
- new Delete.Builder(policyId).index(ELK_INDEX_POLICY).
- type(indexType.name()).build();
- result = jestClient.execute(deleteRequest);
- } catch (IllegalArgumentException | IOException e) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR + ": delete:" +
- ((indexType != null) ? indexType.name() : "null") + ":" + policyId + ": " +
- e.getMessage(), e);
- throw new IllegalStateException(e);
- }
-
- if (result.isSucceeded()) {
- if (logger.isInfoEnabled())
- logger.info("OK: DELETE operation of " + indexType + ":" + policyId + ": " +
- "success=" + result.isSucceeded() + "[" + result.getResponseCode() + ":" +
- result.getPathToResult() + "]" + System.lineSeparator() +
- result.getJsonString());
- } else {
- if (logger.isWarnEnabled())
- logger.warn("FAILURE: DELETE operation of " + indexType + ":" + policyId + ": " +
- "success=" + result.isSucceeded() + "[" + result.getResponseCode() + ":" +
- result.getPathToResult() + "]" + System.lineSeparator() +
- result.getJsonString());
- }
-
- return result.isSucceeded();
- }
-
- @Override
- public ElkRecord create(PolicyType policyType,
- String name,
- String owner,
- String scope,
- File xacmlFile,
- PolicyBodyType bodyType,
- String body,
- File destinationDir)
- throws IllegalStateException {
- if (logger.isTraceEnabled()) logger.trace("ENTER");
-
- String methodLog = "[" +
- "type:" + policyType.name() + "|" +
- "owner:" + owner + "|" +
- "scope:" + scope + "|" +
- "xacml-file:" + ((xacmlFile != null) ? xacmlFile.getPath() : "null")+ "|" +
- "body-type:" + bodyType.name() + "|" +
- "body:" + body + "|" +
- "destination-dir:" + ((destinationDir != null) ? destinationDir.getPath() : "null")+ "]";
-
- if (logger.isDebugEnabled())
- logger.debug(methodLog);
-
- if (policyType == null || name == null || owner == null || scope == null ||
- xacmlFile == null) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR + ":" +
- "Internal Error: invalid arguments provided for " + methodLog);
- throw new IllegalStateException(": " + "Invalid arguments to convert to ELK format.");
- }
-
- try {
- Xacml2Elk searchablePolicy =
- new Xacml2Elk(policyType.name(),
- name,
- owner,
- scope,
- xacmlFile,
- bodyType,
- body,
- destinationDir);
- ElkRecord elkRecord = searchablePolicy.record();
- put(elkRecord.record, policyType, elkRecord.policyId);
- return elkRecord;
- } catch (JAXBException | JsonProcessingException | IllegalArgumentException e) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR + ":" +
- "cannot create searchable record for " + methodLog +
- ". Reason: " + e.getMessage(), e);
- throw new IllegalStateException(": " + "Error encountered converting to ELK format.");
- } catch (IOException e) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR + ":" +
- "cannot create searchable record for " + methodLog +
- ". Reason: " + e.getMessage(), e);
- throw new IllegalStateException(": " + "Communication Problem with ELK server.");
- }
- }
-
- @Override
- public boolean update(File xacmlFile) throws IllegalStateException {
- if (logger.isDebugEnabled())
- logger.debug("ENTER: " + "[xacml-file:" +
- ((xacmlFile != null) ? xacmlFile.getPath() : "null")+ "]");
-
- if (xacmlFile == null || !xacmlFile.canRead()) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR + ":" +
- "Internal Error: invalid arguments provided: " +
- ((xacmlFile != null) ? xacmlFile.getPath() : "null")+ "]");
- throw new IllegalStateException(": " + "Invalid arguments to convert to ELK format.");
- }
-
- Xacml2Elk searchablePolicy = new Xacml2Elk(xacmlFile, false);
- return update(xacmlFile, searchablePolicy);
- }
-
- protected boolean update(File xacmlFile, Xacml2Elk searchablePolicy) throws IllegalStateException {
- if (logger.isDebugEnabled())
- logger.debug("ENTER");
-
- try {
- ElkRecord elkRecord = searchablePolicy.record();
- boolean success = put(elkRecord.record, ElkConnector.toPolicyType(xacmlFile.getName()), elkRecord.policyId);
- return success;
- } catch (JAXBException | JsonProcessingException | IllegalArgumentException e) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR + ":" +
- "cannot create searchable record for " + xacmlFile.getAbsolutePath() +
- ". Reason: " + e.getMessage(), e);
- throw new IllegalStateException(": " + "Error encountered converting to ELK format for " +
- xacmlFile.getAbsolutePath());
- } catch (IOException e) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR + ":" +
- "cannot create ELK searchable record for " + xacmlFile.getAbsolutePath() +
- ". Reason: " + e.getMessage(), e);
- throw new IllegalStateException(": " + "Communication Problem with ELK server.");
- } catch (IllegalStateException e) {
- /* unexpected */
- throw e;
- } catch (Exception e) {
- logger.warn(XACMLErrorConstants.ERROR_UNKNOWN + ":" + "cannot test and update", e);
- throw new IllegalStateException(e);
- }
- }
-
- @Override
- public boolean testAndUpdate(File xacmlFile) throws IllegalStateException {
- if (logger.isDebugEnabled())
- logger.debug("ENTER: " + "[xacml-file:" +
- ((xacmlFile != null) ? xacmlFile.getPath() : "null")+ "]");
-
- if (xacmlFile == null || !xacmlFile.canRead()) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR + ":" +
- "Internal Error: invalid arguments provided: " +
- ((xacmlFile != null) ? xacmlFile.getPath() : "null")+ "]");
- throw new IllegalStateException(": " + "Invalid arguments to convert to ELK format.");
- }
-
- try {
- Xacml2Elk searchablePolicy = new Xacml2Elk(xacmlFile, true);
- String policyId = searchablePolicy.getPolicy().getValue().getPolicyId();
- policyId = policyId.substring(policyId.lastIndexOf(":")+1);
- JestResult result = this.policy(policyId);
- if (result.isSucceeded()) {
- logger.info("Policy exists: " + policyId);
-
- /* validation tests */
-
- String policyType = getJsonPolicyMember(result.getJsonObject(), "PolicyType");
- String scope = getJsonPolicyMember(result.getJsonObject(), "Scope");
- String policyName = getJsonPolicyMember(result.getJsonObject(), "PolicyName");
- if (policyType == null || policyType.isEmpty() ||
- scope == null || scope.isEmpty() ||
- policyName == null || policyName.isEmpty()) {
- logger.warn("Policy metadata not found. Updating record ..");
- update(xacmlFile, searchablePolicy);
- return false;
- }
-
- if (!xacmlFile.getName().startsWith(policyType)) {
- logger.warn(xacmlFile.getName() + " does not match Policy Type: " +
- policyType);
- update(xacmlFile, searchablePolicy);
- return false;
- }
-
- java.nio.file.Path xacmlElkPath = Paths.get(scope, policyType + "_" + policyName + ".xml");
- java.nio.file.Path xacmlPath = xacmlFile.toPath();
-
- if (logger.isDebugEnabled()) {
- logger.debug(xacmlElkPath + " in " + xacmlElkPath + "? ");
- }
-
- if (!xacmlPath.endsWith(xacmlElkPath)) {
- logger.warn(xacmlPath + " does not match ELK inferred path: " +
- xacmlElkPath);
- update(xacmlFile, searchablePolicy);
- return false;
- }
-
- if (logger.isInfoEnabled()) {
- logger.warn("OK: " + xacmlPath + " matches ELK inferred path: " +
- xacmlElkPath);
- }
- return true;
- } else {
- logger.info("Policy ID not found. Adding to database: " + policyId);
- update(xacmlFile, searchablePolicy);
- return false;
- }
- } catch (Exception e) {
- logger.warn(XACMLErrorConstants.ERROR_UNKNOWN + ":" + "cannot test and update", e);
- throw new IllegalStateException(e);
- }
- }
-} \ No newline at end of file
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/client/Pair.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/client/Pair.java
deleted file mode 100644
index 3c7b9951d..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/client/Pair.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.elk.client;
-
-
-public class Pair<L,R> {
- private L left;
- private R right;
- public Pair(L l, R r){
- this.left = l;
- this.right = r;
- }
- public L left(){ return left; }
- public R right(){ return right; }
- public void left(L l){ this.left = l; }
- public void right(R r){ this.right = r; }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/client/PolicyElasticSearchController.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/client/PolicyElasticSearchController.java
deleted file mode 100644
index ee745236f..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/client/PolicyElasticSearchController.java
+++ /dev/null
@@ -1,756 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.elk.client;
-
-
-import java.io.File;
-import java.io.PrintWriter;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.regex.Pattern;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.json.JSONObject;
-import org.openecomp.policy.adapter.ClosedLoopPerformanceMetrics;
-import org.openecomp.policy.adapter.ClosedLoopPolicy;
-import org.openecomp.policy.dao.PolicyVersionDao;
-import org.openecomp.policy.elk.client.ElkConnector.PolicyIndexType;
-import org.openecomp.policy.rest.dao.DescriptiveScopeDao;
-import org.openecomp.policy.rest.jpa.ActionPolicyDict;
-import org.openecomp.policy.rest.jpa.Attribute;
-import org.openecomp.policy.rest.jpa.BRMSParamTemplate;
-import org.openecomp.policy.rest.jpa.ClosedLoopD2Services;
-import org.openecomp.policy.rest.jpa.ClosedLoopSite;
-import org.openecomp.policy.rest.jpa.DCAEuuid;
-import org.openecomp.policy.rest.jpa.DecisionSettings;
-import org.openecomp.policy.rest.jpa.DescriptiveScope;
-import org.openecomp.policy.rest.jpa.EcompName;
-import org.openecomp.policy.rest.jpa.EnforcingType;
-import org.openecomp.policy.rest.jpa.GroupPolicyScopeList;
-import org.openecomp.policy.rest.jpa.MicroServiceLocation;
-import org.openecomp.policy.rest.jpa.MicroServiceModels;
-import org.openecomp.policy.rest.jpa.PEPOptions;
-import org.openecomp.policy.rest.jpa.PolicyVersion;
-import org.openecomp.policy.rest.jpa.RiskType;
-import org.openecomp.policy.rest.jpa.SafePolicyWarning;
-import org.openecomp.policy.rest.jpa.TermList;
-import org.openecomp.policy.rest.jpa.VNFType;
-import org.openecomp.policy.rest.jpa.VSCLAction;
-import org.openecomp.policy.rest.jpa.VarbindDictionary;
-import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.servlet.ModelAndView;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-@Controller
-@RequestMapping({"/"})
-public class PolicyElasticSearchController extends RestrictedBaseController{
-
- private static final Logger logger = FlexLogger.getLogger(PolicyElasticSearchController.class);
- private volatile HashMap<Path, String> filteredPolicies = new HashMap<Path, String>();
- private List<JSONObject> policyNames = null;
-
- enum Mode{
- attribute, ecompName, actionPolicy, brmsParam, pepOptions, clSite, clService, clVarbind, clVnf, clVSCL, decision, enforcer, fwTerm, gocEventAlarm,
- gocTraversal, gocRootCause, gocVnfType, gocServerScope, gocHPEventSource, msDCAEUUID, msConfigName, msLocation, msModels,
- psGroupPolicy, safeRisk, safePolicyWarning
- }
-
- public static final HashMap<String, String> name2jsonPath = new HashMap<String, String>() {
- private static final long serialVersionUID = 1L;
- {
- put(ClosedLoopPolicy.CLFAULT_UIFIELD_D2_SERVICES_TRINITY, ClosedLoopPolicy.CLFAULT_UIJSON_D2_SERVICES_TRINITY);
- put(ClosedLoopPolicy.CLFAULT_UIFIELD_D2_SERVICES_VUSP, ClosedLoopPolicy.CLFAULT_UIJSON_D2_SERVICES_VUSP);
- put(ClosedLoopPolicy.CLFAULT_UIFIELD_D2_SERVICES_MCR, ClosedLoopPolicy.CLFAULT_UIJSON_D2_SERVICES_MCR);
- put(ClosedLoopPolicy.CLFAULT_UIFIELD_D2_SERVICES_GAMMA, ClosedLoopPolicy.CLFAULT_UIJSON_D2_SERVICES_GAMMA);
- put(ClosedLoopPolicy.CLFAULT_UIFIELD_D2_SERVICES_VDNS, ClosedLoopPolicy.CLFAULT_UIJSON_D2_SERVICES_VDNS);
-
- put(ClosedLoopPolicy.CLFAULT_UIFIELD_EMAIL_ADDRESS, ClosedLoopPolicy.CLFAULT_UIJSON_EMAIL_ADDRESS);
- put(ClosedLoopPolicy.CLFAULT_UIFIELD_TRIGGER_SIGNATURE, ClosedLoopPolicy.CLFAULT_UIJSON_TRIGGER_SIGNATURE);
- put(ClosedLoopPolicy.CLFAULT_UIFIELD_VERIFICATION_SIGNATURE, ClosedLoopPolicy.CLFAULT_UIJSON_VERIFICATION_SIGNATURE);
- put(ClosedLoopPolicy.CLFAULT_UIFIELD_CONNECT_ALL_TRAPS, ClosedLoopPolicy.CLFAULT_UIJSON_CONNECT_ALL_TRAPS);
- put(ClosedLoopPolicy.CLFAULT_UIFIELD_CONNECT_ALL_FAULTS, ClosedLoopPolicy.CLFAULT_UIJSON_CONNECT_ALL_FAULTS);
-
- put(ClosedLoopPolicy.CLFAULT_UIFIELD_POLICY_STATUS_INACTIVE, ClosedLoopPolicy.CLFAULT_UIJSON_POLICY_STATUS_ACTIVE);
- put(ClosedLoopPolicy.CLFAULT_UIFIELD_POLICY_STATUS_ACTIVE, ClosedLoopPolicy.CLFAULT_UIJSON_POLICY_STATUS_INACTIVE);
-
- put(ClosedLoopPerformanceMetrics.CLPM_UIFIELD_ONSET_MESSAGE, ClosedLoopPerformanceMetrics.CLPM_UIJSON_ONSET_MESSAGE);
- put(ClosedLoopPerformanceMetrics.CLPM_UIFIELD_POLICY_NAME, ClosedLoopPerformanceMetrics.CLPM_UIJSON_POLICY_NAME);
- put(ClosedLoopPerformanceMetrics.CLPM_UIFIELD_ABATEMENT_MESSAGE, ClosedLoopPerformanceMetrics.CLPM_UIJSON_ABATEMENT_MESSAGE);
- put(ClosedLoopPerformanceMetrics.CLPM_UIFIELD_GEOLINK, ClosedLoopPerformanceMetrics.CLPM_UIJSON_GEOLINK);
- }};
-
-
- //For AND and OR logical connector AND=0 and OR=1
- private int connectorSelected;
-
- public static DescriptiveScopeDao descriptiveScopeDao;
- public static PolicyVersionDao policyVersionDao;
-
- @Autowired
- public PolicyElasticSearchController(DescriptiveScopeDao descriptiveScopeDao, PolicyVersionDao policyVersionDao) {
- PolicyElasticSearchController.descriptiveScopeDao = descriptiveScopeDao;
- PolicyElasticSearchController.policyVersionDao = policyVersionDao;
-
- }
-
- public PolicyElasticSearchController() {
- }
-
- @RequestMapping(value={"/searchPolicy"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView searchPolicy(HttpServletRequest request, HttpServletResponse response) throws Exception{
- List<JSONObject> resultList = new ArrayList<JSONObject>();
- try {
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- SearchData searchData = (SearchData)mapper.readValue(root.get("searchdata").toString(), SearchData.class);
-
- String policyType = searchData.getPolicyType();
- ArrayList<Pair<ArrayList<String>,ArrayList<String>>> filter_s = new ArrayList<Pair<ArrayList<String>,ArrayList<String>>>();
-
- String searchText = searchData.getQuery();
- if (searchText == null || searchText.isEmpty()) {
- String descriptiveValue = searchData.getDescriptiveScope();
- if(descriptiveValue != null){
- searchText = "Descriptive-Scope="+descriptiveValue;
- }
- if (policyType == null || policyType.isEmpty() &&
- !policyType.equals(ElkConnector.PolicyIndexType.closedloop.toString())) {
- if (logger.isDebugEnabled()) {
- logger.debug("Clearing search filters, nothing to search and not closed loop.");
- }
- }
- } else {
- searchText = searchText.trim();
- //Descriptive Scope.
- /*
- When a item is selected in the "descriptiveScope" comboBox, the name of the item
- is added to the Search-Text Box with the prefix "Descriptive-Scope"
- User needs to press the "Search" button to perform the search.
- */
- if(searchText.contains("Descriptive-Scope=")){
- if (logger.isDebugEnabled()) {
- logger.debug("Inside the Descriptive Scope");
- }
- /*
- First item is always String "Descriptive-Scope" before the "=",
- So taking the second item of "split using ="
- */
- String[] dsName= searchText.split("=",2);
- /*
- Trying to find the search String by traversing different items from the dictionary by Scope-Name
- Once when the the "scope-name" is found, we get the search string from dictionary.
- */
- if(searchData.getDescriptiveScope() != null){
- DescriptiveScope dsSearch = descriptiveScopeDao.getDescriptiveScopeById(searchData.getDescriptiveScope());
- if(dsSearch.getScopeName().equals(dsName[1])){
- searchText=dsSearch.getSearch();
- if (logger.isDebugEnabled()) {
- logger.debug("DescriptiveScope Search String is " +searchText );
- }
- }
- }
-
- }
- // '&' turned to "AND" to make it inline with Freeform search.
- if(searchText.contains(":")){
- String connector="AND";
- if(searchText.contains("AND")){
- connector="AND";
- connectorSelected=0;
- }else if(searchText.contains("OR")){
- connector=Pattern.quote("OR");
- connectorSelected=1;
- }
- for (String retval: searchText.split(connector)){
-
- int index= retval.indexOf(':');
- String filterKey=null;
- String filterValue=null;
-
- filterKey=retval.substring(0,index).trim();
- filterValue= retval.substring(index+1).trim();
-
- logger.debug("Key is "+filterKey+" and value is "+filterValue);
- String clSearchBoxFilter=filterKey;
-
- ArrayList<String> clSearchBoxFilterField_s = new ArrayList<String>();
-
- clSearchBoxFilterField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_Fault.name() + "_Body." + clSearchBoxFilter);
- clSearchBoxFilterField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_PM.name() + "_Body." + clSearchBoxFilter);
- clSearchBoxFilterField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_FW.name() + "_Body." + clSearchBoxFilter);
- clSearchBoxFilterField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_MS.name() + "_Body." + clSearchBoxFilter);
-
-
- ArrayList<String> clSearchBoxFilterValue_s = new ArrayList<String>();
- clSearchBoxFilterValue_s.add(filterValue);
-
- filter_s.add(new Pair<ArrayList<String>,ArrayList<String>>(clSearchBoxFilterField_s, clSearchBoxFilterValue_s));
- }
- }
- }
-
- if (policyType != null && !policyType.isEmpty() &&
- policyType.equals(ElkConnector.PolicyIndexType.closedloop.toString())) {
-
- /* closed loop policy type */
-
- String clPolicyType = searchData.getClosedLooppolicyType();
- if (clPolicyType != null && !clPolicyType.isEmpty()) {
- ArrayList<String> clPolicyTypeField_s = new ArrayList<String>();
- clPolicyTypeField_s.add("Policy.PolicyType");
-
- ArrayList<String> clPolicyTypeValue_s = new ArrayList<String>();
- clPolicyTypeValue_s.add(clPolicyType);
-
- filter_s.add(new Pair<ArrayList<String>,ArrayList<String>>(clPolicyTypeField_s, clPolicyTypeValue_s));
- }
-
- String clEcompName = searchData.getEcompName();
- if (clEcompName != null && !clEcompName.isEmpty()) {
- clSearchBody(clPolicyType, "ecompname", clEcompName, filter_s);
- }
-
- String clD2Services = searchData.getD2Service();
- if (clD2Services != null && !clD2Services.isEmpty()) {
- switch (clD2Services) {
- case ClosedLoopPolicy.CLFAULT_UIFIELD_D2_SERVICES_TRINITY:
- case ClosedLoopPolicy.CLFAULT_UIFIELD_D2_SERVICES_VUSP:
- case ClosedLoopPolicy.CLFAULT_UIFIELD_D2_SERVICES_MCR:
- case ClosedLoopPolicy.CLFAULT_UIFIELD_D2_SERVICES_GAMMA:
- case ClosedLoopPolicy.CLFAULT_UIFIELD_D2_SERVICES_VDNS:
- clSearchBody(clPolicyType, name2jsonPath.get(clD2Services), "true", filter_s);
- break;
- default:
- if (logger.isWarnEnabled())
- logger.warn("Unexpected D2 Service: " + clD2Services);
- break;
- }
- }
-
- String clFaultAction = searchData.getVproAction();
- if (clFaultAction != null && !clFaultAction.isEmpty()) {
- if (clPolicyType == null || clPolicyType.equals(ElkConnector.PolicyType.Config_Fault.name())) {
- clSearchFilter(ElkConnector.PolicyType.Config_Fault.name(), "actions", clFaultAction, filter_s);
- }
- }
-
- String clFaultStatus = searchData.getPolicyStatus();
- if (clFaultStatus != null && !clFaultStatus.isEmpty()) {
- if (clPolicyType == null || clPolicyType.equals(ElkConnector.PolicyType.Config_Fault.name())) {
- clSearchFilter(ElkConnector.PolicyType.Config_Fault.name(), "closedLoopPolicyStatus", clFaultStatus, filter_s);
- }
- }
-
- String clFaultVnfTypes = searchData.getVnfType();
- if (clFaultVnfTypes != null && !clFaultVnfTypes.isEmpty()) {
- if (clPolicyType == null || clPolicyType.equals(ElkConnector.PolicyType.Config_Fault.name())) {
- clSearchFilter(ElkConnector.PolicyType.Config_Fault.name(), "vnfType", clFaultVnfTypes, filter_s);
- }
- }
-
- String clPMServiceType = searchData.getServiceType();
- if (clPMServiceType != null && !clPMServiceType.isEmpty()) {
- if (clPolicyType == null || clPolicyType.equals(ElkConnector.PolicyType.Config_PM.name())) {
- clSearchFilter(ElkConnector.PolicyType.Config_PM.name(), "serviceTypePolicyName", clPMServiceType, filter_s);
- }
- }
-
- String clSearchBoxFilter = searchData.getBindTextSearch();
- if (clSearchBoxFilter != null && !clSearchBoxFilter.isEmpty() &&
- searchText != null && !searchText.isEmpty()) {
-
- if (name2jsonPath.containsKey(clSearchBoxFilter)) {
- clSearchBoxFilter = name2jsonPath.get(clSearchBoxFilter);
- }
-
- ArrayList<String> clSearchBoxFilterField_s = new ArrayList<String>();
- if (clPolicyType == null || clPolicyType.isEmpty()) {
- clSearchBoxFilterField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_Fault.name() + "_Body." + clSearchBoxFilter);
- clSearchBoxFilterField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_PM.name() + "_Body." + clSearchBoxFilter);
- } else {
- clSearchBoxFilterField_s.add("Policy.Body." + clPolicyType + "_Body." + clSearchBoxFilter);
- }
-
- ArrayList<String> clSearchBoxFilterValue_s = new ArrayList<String>();
- clSearchBoxFilterValue_s.add(searchText);
-
- filter_s.add(new Pair<ArrayList<String>,ArrayList<String>>(clSearchBoxFilterField_s, clSearchBoxFilterValue_s));
-
- // deactivate search all fields in case a searchbox filter is provided
- searchText = "";
- }
- }
-
- if ((searchText == null || searchText.isEmpty()) &&
- (filter_s == null || filter_s.size() <=0) ) {
- if (logger.isWarnEnabled()) {
- logger.warn("Clearing search filters, closed loop but nothing to search nor filters");
- }
- }
-
- ArrayList<PolicyLocator> locators = null;
- try {
- locators = ElkConnector.singleton.policyLocators(toPolicyIndexType(policyType),
- searchText, filter_s,connectorSelected);
- } catch (Exception ise) {
- logger.warn("Search is unavailable: " + ise.getMessage());
- }
-
- synchronized(this.filteredPolicies) {
- if (locators.isEmpty()) {
- if (logger.isInfoEnabled()) {
- logger.info("No match has been found");
- }
- logger.warn("No match has been found");
- }
-
- HashMap<String, Boolean> policyVersion_s = new HashMap<String, Boolean>();
- List<PolicyVersion> policyVersionList = policyVersionDao.getPolicyVersionData();
- for(int i = 0; i < policyVersionList.size(); i++) {
- PolicyVersion entityVersion = policyVersionList.get(i);
- String dbPolicy = entityVersion.getPolicyName() + "." + entityVersion.getActiveVersion();
- policyVersion_s.put(dbPolicy, true);
- if (logger.isDebugEnabled())
- logger.debug("Map addition: DB Policy Name: " + dbPolicy);
- }
-
- this.filteredPolicies.clear();
- for (PolicyLocator p: locators) {
- String dbPolicyName = p.scope + File.separator + p.policyType + "_" + p.policyName;
- if (policyVersion_s.containsKey(dbPolicyName)) {
- String filterPolicyName = dbPolicyName + ".xml";
- this.filteredPolicies.put(Paths.get(filterPolicyName), filterPolicyName);
- JSONObject el = new JSONObject();
- el.put("name", dbPolicyName);
- resultList.add(el);
- if (logger.isInfoEnabled())
- logger.info("Active Version Policy found in search: " + dbPolicyName + " -> " + filterPolicyName);
- } else {
- if (logger.isInfoEnabled())
- logger.info("Inactive Version Policy found in search: " + dbPolicyName);
- }
- }
-
- if (this.filteredPolicies.isEmpty()) {
- if (logger.isInfoEnabled()) {
- logger.info("No match has been found for active versions");
- }
- JSONObject result = new JSONObject();
- result.put("success", false);
- result.put("error", "No match has been found for active versions");
- resultList.add(result);
- logger.warn("No match has been found for active versions");
-
- }
-
- System.out.println(this.filteredPolicies);
- }
-
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
- JSONObject j = new JSONObject("{result: " + resultList + "}");
- out.write(j.toString());
- return null;
- }catch(Exception e){
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
- out.write(e.getMessage());
- }
- return null;
- }
-
- protected void clSearchBody(String clPolicyType, String bodyField, String bodyValue,
- ArrayList<Pair<ArrayList<String>, ArrayList<String>>> filter_s) {
- if (logger.isDebugEnabled())
- logger.debug("ENTER: " + clPolicyType + ":" + bodyField + ":" + bodyValue);
-
- final ArrayList<String> clBodyField_s = new ArrayList<String>();
- final ArrayList<String> clBodyValue_s = new ArrayList<String>();
-
- if (clPolicyType == null || clPolicyType.isEmpty()) {
- clBodyField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_Fault.name() + "_Body." + bodyField);
- clBodyField_s.add("Policy.Body."+ ElkConnector.PolicyType.Config_PM.name() + "_Body." + bodyField);
- clBodyValue_s.add(bodyValue);
- } else {
- clBodyField_s.add("Policy.Body." + clPolicyType + "_Body." + bodyField);
- clBodyValue_s.add(bodyValue);
- }
- filter_s.add(new Pair<ArrayList<String>, ArrayList<String>>(clBodyField_s, clBodyValue_s));
- }
-
- protected void clSearchFilter(String clType, String clField, String clValue,
- ArrayList<Pair<ArrayList<String>,ArrayList<String>>> filter_s) {
- if (logger.isDebugEnabled())
- logger.debug("ENTER: " + clType + ":" + clField + ":" + clValue);
-
- ArrayList<String> clSearchField_s = new ArrayList<String>();
- clSearchField_s.add("Policy.Body." + clType + "_Body." + clField);
-
- ArrayList<String> clSearchValue_s = new ArrayList<String>();
- clSearchValue_s.add(clValue);
-
- filter_s.add(new Pair<ArrayList<String>,ArrayList<String>>(clSearchField_s, clSearchValue_s));
- }
-
- public ElkConnector.PolicyIndexType toPolicyIndexType(String type) throws IllegalArgumentException {
- if (type == null || type.isEmpty())
- return PolicyIndexType.all;
-
- return PolicyIndexType.valueOf(type);
- }
-
- public boolean updateElk(String xacmlFilePath) {
- boolean success = true;
- try {
- File xacmlPolicy = new File(xacmlFilePath);
- success = ElkConnector.singleton.update(xacmlPolicy);
- if (!success) {
- if (logger.isWarnEnabled()) {
- logger.warn("FAILURE to create ELK record created for " + xacmlPolicy.getPath());
- }
- } else {
- if (logger.isInfoEnabled()) {
- logger.warn("SUCCESS creating ELK record created for " + xacmlPolicy.getPath());
- }
- }
- } catch (Exception e) {
- logger.warn(XACMLErrorConstants.ERROR_DATA_ISSUE + ": " + e.getMessage(), e);
- success = false;
- }
- return success;
- }
-
- @RequestMapping(value={"/searchDictionary"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
- public ModelAndView searchDictionary(HttpServletRequest request, HttpServletResponse response) throws Exception{
- try{
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- JsonNode root = mapper.readTree(request.getReader());
- String dictionaryType = root.get("type").textValue();
- Mode mode = Mode.valueOf(dictionaryType);
- String value;
- String msg;
- switch (mode){
- case attribute :
- Attribute attributedata = (Attribute)mapper.readValue(root.get("data").toString(), Attribute.class);
- value = attributedata.getXacmlId();
- msg = searchElkDatabase("pholder",value);
- break;
- case ecompName :
- EcompName ecompName = (EcompName)mapper.readValue(root.get("data").toString(), EcompName.class);
- value = ecompName.getEcompName();
- msg = searchElkDatabase("pholder",value);
- break;
- case actionPolicy :
- ActionPolicyDict actionPolicyDict = (ActionPolicyDict)mapper.readValue(root.get("data").toString(), ActionPolicyDict.class);
- value = actionPolicyDict.getAttributeName();
- msg = searchElkDatabase("pholder",value);
- break;
- case brmsParam :
- BRMSParamTemplate bRMSParamTemplate = (BRMSParamTemplate)mapper.readValue(root.get("data").toString(), BRMSParamTemplate.class);
- value = bRMSParamTemplate.getRuleName();
- msg = searchElkDatabase("BRMSParamTemplate AND " + value);
- break;
- case pepOptions :
- PEPOptions pEPOptions = (PEPOptions)mapper.readValue(root.get("data").toString(), PEPOptions.class);
- value = pEPOptions.getPepName();
- msg = searchElkDatabase("pepName",value);
- break;
- case clSite :
- ClosedLoopSite closedLoopSite = (ClosedLoopSite)mapper.readValue(root.get("data").toString(), ClosedLoopSite.class);
- value = closedLoopSite.getSiteName();
- msg = searchElkDatabase("siteNames",value);
- break;
- case clService :
- ClosedLoopD2Services closedLoopD2Services = (ClosedLoopD2Services)mapper.readValue(root.get("data").toString(), ClosedLoopD2Services.class);
- value = closedLoopD2Services.getServiceName();
- msg = searchElkDatabase("d2Services",value);
- break;
- case clVarbind :
- VarbindDictionary varbindDictionary = (VarbindDictionary)mapper.readValue(root.get("data").toString(), VarbindDictionary.class);
- value = varbindDictionary.getVarbindName();
- msg = searchElkDatabase("triggerSignaturesUsedForUI.signatures",value);
- break;
- case clVnf :
- VNFType vNFType = (VNFType)mapper.readValue(root.get("data").toString(), VNFType.class);
- value = vNFType.getVnftype();
- msg = searchElkDatabase("vnfType",value);
- break;
- case clVSCL :
- VSCLAction vsclAction = (VSCLAction)mapper.readValue(root.get("data").toString(), VSCLAction.class);
- value = vsclAction.getVsclaction();
- msg = searchElkDatabase("actions",value);
- break;
- case decision :
- DecisionSettings decisionSettings = (DecisionSettings)mapper.readValue(root.get("data").toString(), DecisionSettings.class);
- value = decisionSettings.getXacmlId();
- msg = searchElkDatabase("pholder",value);
- break;
- case enforcer :
- EnforcingType enforcingType = (EnforcingType)mapper.readValue(root.get("data").toString(), EnforcingType.class);
- value = enforcingType.getEnforcingType();
- msg = searchElkDatabase("pholder",value);
- break;
- case fwTerm :
- TermList term = (TermList)mapper.readValue(root.get("data").toString(), TermList.class);
- value = term.getTermName();
- msg = searchElkDatabase("firewallRuleList.ruleName",value);
- break;
- case msDCAEUUID :
- DCAEuuid dcaeUUID = (DCAEuuid)mapper.readValue(root.get("data").toString(), DCAEuuid.class);
- value = dcaeUUID.getName();
- msg = searchElkDatabase("uuid",value);
- break;
- case msLocation :
- MicroServiceLocation mslocation = (MicroServiceLocation)mapper.readValue(root.get("data").toString(), MicroServiceLocation.class);
- value = mslocation.getName();
- msg = searchElkDatabase("location",value);
- break;
- case msModels :
- MicroServiceModels msModels = (MicroServiceModels)mapper.readValue(root.get("data").toString(), MicroServiceModels.class);
- value = msModels.getModelName();
- msg = searchElkDatabase("configName",value);
- break;
- case psGroupPolicy :
- GroupPolicyScopeList groupPoilicy = (GroupPolicyScopeList)mapper.readValue(root.get("data").toString(), GroupPolicyScopeList.class);
- value = groupPoilicy.getGroupName();
- msg = searchElkDatabase("PolicyScope",value);
- break;
- case safeRisk :
- RiskType riskType= (RiskType)mapper.readValue(root.get("data").toString(), RiskType.class);
- value = riskType.getRiskName();
- msg = searchElkDatabase("Risk Type",value);
- break;
- case safePolicyWarning :
- SafePolicyWarning safePolicy = (SafePolicyWarning)mapper.readValue(root.get("data").toString(), SafePolicyWarning.class);
- value = safePolicy.getName();
- msg = searchElkDatabase("Safe Warning",value);
- break;
- default:
- }
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
- JSONObject j = new JSONObject("{result: " + policyNames + "}");
- out.write(j.toString());
- return null;
- }catch(Exception e){
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
- out.write(e.getMessage());
- }
- return null;
- }
-
- //Search Elk database
- public String searchElkDatabase(String value){
- String policyType = "";
- String searchText = value;
- ArrayList<PolicyLocator> locators;
- ArrayList<Pair<ArrayList<String>,ArrayList<String>>> filter_s = new ArrayList<Pair<ArrayList<String>,ArrayList<String>>>();
- try {
- locators = ElkConnector.singleton.policyLocators(toPolicyIndexType(policyType), searchText, filter_s,0);
- } catch (Exception ise) {
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR+"Search is unavailable: " + ise.getMessage());
- value = "$notSuccess%";
- return value;
- }
- policyNames = new ArrayList<JSONObject>();
- for (PolicyLocator p: locators) {
- String dbPolicyName = p.scope + "/" + p.policyType + "_" + p.policyName + "." +p.version + ".xml";
- logger.debug(dbPolicyName);
- JSONObject el = new JSONObject();
- el.put("name", dbPolicyName);
- policyNames.add(el);
- }
- if(!locators.isEmpty()){
- value = "$success%";
- return value;
- }
- return value;
- }
-
- //Search the Elk database
- public String searchElkDatabase(String key, String value){
- String policyType = "";
- String searchText = key+":"+value;
- ArrayList<PolicyLocator> locators;
- ArrayList<Pair<ArrayList<String>,ArrayList<String>>> filter_s = new ArrayList<Pair<ArrayList<String>,ArrayList<String>>>();
- logger.debug("Parameter value is"+value);
-
- String clSearchKey=null;
- clSearchKey=key;
-
- logger.debug("Filter value is"+clSearchKey);
-
- ArrayList<String> clSearchBoxFilterField_s = new ArrayList<String>();
-
- clSearchBoxFilterField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_Fault.name() + "_Body." + clSearchKey);
- clSearchBoxFilterField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_PM.name() + "_Body." + clSearchKey);
- clSearchBoxFilterField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_FW.name() + "_Body." + clSearchKey);
- clSearchBoxFilterField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_MS.name() + "_Body." + clSearchKey);
- //clSearchBoxFilterField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_PM.name() + "_Body." + clSearchKey);
-
- String clSearchValue=null;
- clSearchValue=value;
-
- logger.debug("Search value is"+clSearchValue);
-
- ArrayList<String> clSearchBoxFilterValue_s = new ArrayList<String>();
- clSearchBoxFilterValue_s.add(clSearchValue);
-
- filter_s.add(new Pair<ArrayList<String>,ArrayList<String>>(clSearchBoxFilterField_s, clSearchBoxFilterValue_s));
-
- try {
- locators = ElkConnector.singleton.policyLocators(toPolicyIndexType(policyType), searchText, filter_s,0);
- logger.debug("No Exceptions");
- for (PolicyLocator l: locators) {
- logger.debug(l.policyName);
- }
- logger.debug("After for");
- } catch (Exception ise) {
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR+"Search is unavailable: " + ise.getMessage());
- //PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, ise, "AttributeDictionary", " Exception while searching Elk database ");
- logger.debug("Exceptions");
- value = "$notSuccess%";
- return value;
- }
- policyNames = new ArrayList<JSONObject>();
- for (PolicyLocator p: locators) {
- String dbPolicyName = p.scope + File.separator + p.policyType + "_" + p.policyName + ".xml";
- logger.debug(dbPolicyName);
- JSONObject el = new JSONObject();
- el.put("name", dbPolicyName);
- policyNames.add(el);
- }
- if(!locators.isEmpty()){
- value = "$success%";
- logger.debug("Success");
- return value;
- }
- return value;
- }
-
-}
-
-
-class SearchData{
- private String query;
- private String policyType;
- private String descriptiveScope;
- private String closedLooppolicyType;
- private String ecompName;
- private String d2Service;
- private String vnfType;
- private String policyStatus;
- private String vproAction;
- private String serviceType;
- private String bindTextSearch;
- public String getQuery() {
- return query;
- }
- public void setQuery(String query) {
- this.query = query;
- }
- public String getPolicyType() {
- return policyType;
- }
- public void setPolicyType(String policyType) {
- this.policyType = policyType;
- }
- public String getDescriptiveScope() {
- return descriptiveScope;
- }
- public void setDescriptiveScope(String descriptiveScope) {
- this.descriptiveScope = descriptiveScope;
- }
- public String getClosedLooppolicyType() {
- return closedLooppolicyType;
- }
- public void setClosedLooppolicyType(String closedLooppolicyType) {
- this.closedLooppolicyType = closedLooppolicyType;
- }
- public String getEcompName() {
- return ecompName;
- }
- public void setEcompName(String ecompName) {
- this.ecompName = ecompName;
- }
- public String getD2Service() {
- return d2Service;
- }
- public void setD2Service(String d2Service) {
- this.d2Service = d2Service;
- }
- public String getVnfType() {
- return vnfType;
- }
- public void setVnfType(String vnfType) {
- this.vnfType = vnfType;
- }
- public String getPolicyStatus() {
- return policyStatus;
- }
- public void setPolicyStatus(String policyStatus) {
- this.policyStatus = policyStatus;
- }
- public String getVproAction() {
- return vproAction;
- }
- public void setVproAction(String vproAction) {
- this.vproAction = vproAction;
- }
- public String getServiceType() {
- return serviceType;
- }
- public void setServiceType(String serviceType) {
- this.serviceType = serviceType;
- }
- public String getBindTextSearch() {
- return bindTextSearch;
- }
- public void setBindTextSearch(String bindTextSearch) {
- this.bindTextSearch = bindTextSearch;
- }
-} \ No newline at end of file
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/client/PolicyLocator.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/client/PolicyLocator.java
deleted file mode 100644
index f7cc58fa2..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/client/PolicyLocator.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.elk.client;
-
-
-public class PolicyLocator {
- public final String policyType;
- public final String policyName;
- public final String owner;
- public final String scope;
- public final String policyId;
- public final String version;
-
- public PolicyLocator(String policyType, String policyName,
- String owner, String scope, String policyId,
- String version) {
- this.policyType = policyType;
- this.policyName= policyName;
- this.owner = owner;
- this.scope = scope;
- this.policyId = policyId;
- this.version = version;
- }
-
- public String toString() {
- return "[" +
- this.owner + "|" +
- this.scope + "|" +
- this.policyType + "|" +
- this.policyName + "|" +
- this.policyId + "|" +
- "v" + this.version + "|" + "]";
-
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/converter/ElkRecord.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/converter/ElkRecord.java
deleted file mode 100644
index 40bdb7929..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/converter/ElkRecord.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.elk.converter;
-
-
-import com.fasterxml.jackson.databind.JsonNode;
-
-public class ElkRecord {
- public final String record;
- public final String policyId;
- public final JsonNode jsonRecord;
- public final boolean bodyAttached;
-
- public ElkRecord(final String policyId,
- final String record,
- final JsonNode jsonRecord,
- final boolean bodyAttached) {
- this.policyId = policyId;
- this.record = record;
- this.jsonRecord = jsonRecord;
- this.bodyAttached = bodyAttached;
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/converter/Xacml2Elk.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/converter/Xacml2Elk.java
deleted file mode 100644
index f7aa34ff2..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/elk/converter/Xacml2Elk.java
+++ /dev/null
@@ -1,978 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.elk.converter;
-
-
-import io.searchbox.core.Update;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLConnection;
-import java.nio.file.FileSystems;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBElement;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
-import javax.xml.transform.Result;
-import javax.xml.transform.stream.StreamResult;
-
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AdviceExpressionType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeAssignmentExpressionType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.EffectType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.ObligationExpressionType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
-
-import org.apache.commons.io.IOUtils;
-import org.eclipse.persistence.jaxb.JAXBContextFactory;
-import org.eclipse.persistence.jaxb.MarshallerProperties;
-import org.eclipse.persistence.jaxb.json.JsonSchemaOutputResolver;
-
-import com.att.research.xacml.api.Advice;
-import com.att.research.xacml.api.AttributeAssignment;
-import com.att.research.xacml.api.Identifier;
-import com.att.research.xacml.api.Obligation;
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import com.att.research.xacml.util.XACMLPolicyScanner;
-import com.att.research.xacml.util.XACMLProperties;
-import com.att.research.xacml.util.XACMLPolicyScanner.CallbackResult;
-import com.att.research.xacml.util.XACMLPolicyScanner.SimpleCallback;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.fasterxml.jackson.dataformat.xml.XmlMapper;
-import com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule;
-import com.fasterxml.jackson.module.jsonSchema.JsonSchema;
-import com.fasterxml.jackson.module.jsonSchema.factories.SchemaFactoryWrapper;
-
-import org.kohsuke.args4j.CmdLineException;
-import org.kohsuke.args4j.CmdLineParser;
-import org.kohsuke.args4j.Option;
-import org.openecomp.policy.elk.client.ElkConnector;
-import org.openecomp.policy.elk.client.ElkConnector.PolicyBodyType;
-import org.openecomp.policy.rest.XACMLRestProperties;
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-
-@SuppressWarnings("unused")
-public class Xacml2Elk {
- public static final String URLID_ATTRIBUTE = "URLID";
- public static final String BODY_ATTRIBUTE = "body";
-
- protected static final Logger logger = FlexLogger.getLogger(Xacml2Elk.class);
- protected static JAXBContext jaxbContext = jaxbContext();
-
- protected static String toConfigsWebDirectory(String policyType)
- throws IllegalArgumentException {
- if (policyType == null || policyType.isEmpty())
- throw new IllegalArgumentException("Unexpected policy type: " + policyType);
-
- ElkConnector.PolicyType type = ElkConnector.PolicyType.valueOf(policyType);
- switch(type) {
- case Config:
- return type.name();
- case Action:
- return type.name();
- case Decision:
- return type.name();
- case Config_Fault:
- case Config_PM:
- case Config_FW:
- case Config_MS:
- return ElkConnector.PolicyType.Config.name();
- default:
- throw new IllegalArgumentException("Unexpected policy type: " + policyType);
- }
- }
-
- protected synchronized static JAXBContext jaxbContext() {
- if (jaxbContext != null) {
- return jaxbContext;
- }
-
- try {
- jaxbContext = JAXBContextFactory.createContext(new Class[] {PolicyType.class}, null);
- } catch (JAXBException e) {
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + ":" +
- "JAXB Context cannot be created");
- return null;
- }
-
- return jaxbContext;
- }
-
- protected static class CLIOptions {
- @Option(name="-t", usage="policy type", aliases={"-type", "--type"}, required=true)
- protected String type;
-
- @Option(name="-n", usage="policy name", aliases={"-name", "--name"}, required=true)
- protected String name;
-
- @Option(name="-o", usage="git repository owner", aliases={"-owner", "--owner"}, required=true)
- protected String owner;
-
- @Option(name="-s", usage="enclosing scope", aliases={"-scope", "--scope"}, required=true)
- protected String scope;
-
- @Option(name="-x", usage="xacml input file", aliases={"-xacml", "--xacml"}, required=true, metaVar="<xacml input file>")
- protected File xacmlFile;
-
- @Option(name="-p", usage="payload body type", aliases={"-payloadType", "--payloadType"}, required=false, metaVar="<bayload body type>", depends={"-b"})
- protected PolicyBodyType bodyType;
-
- @Option(name="-b", usage="payload body", aliases={"-body", "--body"}, required=false, metaVar="<bayload body type>", depends={"-p"})
- protected String body;
-
- @Option(name="-d", usage="elk record output directory", aliases={"-d", "--directory"}, required=true, metaVar="<elk directory>")
- protected File elkDirectory;
-
- @Option(name = "-h", aliases = {"-help", "--help"}, usage = "print this message")
- private boolean help = false;
- };
-
- class AttributeAssignmentFinderProcessor extends SimpleCallback {
- protected final String attributeId;
- protected String attributeValue = null;
-
- public AttributeAssignmentFinderProcessor(String attributeId) {
- this.attributeId = attributeId;
- }
-
- public String getAttributeValue() {
- return attributeValue;
- }
-
- public boolean isAttributeValue() {
- return (this.attributeValue != null && !this.attributeValue.isEmpty());
- }
-
- private boolean processAssignments(
- List<AttributeAssignmentExpressionType> assignments) {
- if (logger.isTraceEnabled())
- logger.trace("ENTER");
-
- for (AttributeAssignmentExpressionType assignment : assignments) {
- if (!assignment.getAttributeId().equals(attributeId)) {
- if (logger.isDebugEnabled())
- logger.debug("Ignoring: " + assignment.getAttributeId());
- continue;
- }
-
- if (logger.isDebugEnabled())
- logger.debug("Found Attribute ID: " + assignment.getAttributeId());
-
- JAXBElement<?> jaxbExp = assignment.getExpression();
- Object assignmentObject = jaxbExp.getValue();
- if (assignmentObject instanceof AttributeValueType) {
- AttributeValueType avt = (AttributeValueType) assignmentObject;
- if (avt.getContent().size() <= 0) {
- logger.warn("Ignoring: " + assignment.getAttributeId() + ": No values");
- continue;
- }
-
- this.attributeValue = avt.getContent().get(0).toString();
- if (logger.isInfoEnabled())
- logger.info("Found: " + this.attributeValue);
-
- return true;
- }
- }
- return false;
- }
-
- @Override
- public CallbackResult onAdvice(Object parent, AdviceExpressionType expression, Advice advice) {
- if (logger.isTraceEnabled())
- logger.trace("ENTER");
-
- List<AttributeAssignmentExpressionType> assignments =
- expression.getAttributeAssignmentExpression();
-
- if (assignments != null) {
- boolean found = processAssignments(assignments);
- if (found)
- return CallbackResult.STOP;
- }
-
- return super.onAdvice(parent, expression, advice);
- }
-
- @Override
- public CallbackResult onObligation(Object parent, ObligationExpressionType expression, Obligation obligation) {
- if (logger.isTraceEnabled())
- logger.trace("ENTER");
-
- List<AttributeAssignmentExpressionType> assignments =
- expression.getAttributeAssignmentExpression();
-
- if (assignments != null) {
- boolean found = processAssignments(assignments);
- if (found)
- return CallbackResult.STOP;
- }
-
- return super.onObligation(parent, expression, obligation);
-
- }
- }
-
- final protected String type;
- final protected String name;
- final protected String owner;
- final protected String scope;
- final protected File xacmlFile;
- final protected File elkDirectory;
-
- final protected JAXBElement<PolicyType> policy;
-
- protected PolicyBodyType bodyType;
- protected String body;
-
-
- public Xacml2Elk(String type, String name,
- String owner, String scope,
- File xacmlFile, File elkDirectory)
- throws IllegalArgumentException {
-
- this.type = type;
- this.name = name;
- this.owner = owner;
- this.scope = scope;
- this.xacmlFile = xacmlFile;
- this.elkDirectory = elkDirectory;
-
- this.policy = jaxbXacml(xacmlFile);
-
- this.body = "";
- this.bodyType = PolicyBodyType.none;
- bodyFromXacml();
- }
-
- public Xacml2Elk(CLIOptions args) throws IllegalArgumentException {
- this.type = args.type;
- this.name = args.name;
- this.owner = args.owner;
- this.scope = args.scope;
- this.xacmlFile = args.xacmlFile;
- this.elkDirectory = args.elkDirectory;
-
- this.policy = jaxbXacml(xacmlFile);
-
- if (args.body == null || args.body.isEmpty()) {
- this.body = "";
- this.bodyType = PolicyBodyType.none;
- bodyFromXacml();
- } else {
- this.body = args.body;
- this.bodyType = args.bodyType;
- }
- }
-
- public Xacml2Elk(String type, String name, String owner,
- String scope, File xacmlFile, PolicyBodyType bodyType,
- String body, File destinationDir)
- throws IllegalArgumentException {
- this.type = type;
- this.name = name;
- this.owner = owner;
- this.scope = scope;
- this.xacmlFile = xacmlFile;
- this.bodyType = bodyType;
- this.body = body;
- this.elkDirectory = destinationDir;
-
- this.policy = jaxbXacml(xacmlFile);
- }
-
- public Xacml2Elk(File xacmlFile, boolean skipBody)
- throws IllegalArgumentException {
- this.policy = jaxbXacml(xacmlFile);
- PolicyType jPolicy = this.policy.getValue();
-
- this.xacmlFile = xacmlFile;
-
- this.type = ElkConnector.toPolicyType(xacmlFile.getName()).name();
- String fileName = xacmlFile.getName().replaceFirst(this.type + "_", "");
- if (fileName.indexOf(".") > 0)
- this.name = fileName.substring(0, fileName.lastIndexOf("."));
- else
- this.name = fileName;
-
- this.owner = "admin";
- this.scope = getScope(xacmlFile.getParent());
- this.elkDirectory = null;
-
- this.body = "";
- this.bodyType = PolicyBodyType.none;
- if (!skipBody) {
- bodyFromXacml();
- }
- }
-
- @SuppressWarnings("unchecked")
- protected JAXBElement<PolicyType> jaxbXacml(File xacmlFile) throws IllegalArgumentException {
- Path xacmlPath = xacmlFile.toPath();
- if (!Files.isReadable(xacmlPath) || !Files.isRegularFile(xacmlPath)) {
- if (logger.isWarnEnabled()) {
- logger.warn("Error: " + xacmlPath + " is invalid.");
- }
- throw new IllegalArgumentException("Error: " + xacmlPath + " is invalid.");
- }
-
- try {
- Unmarshaller u = jaxbContext.createUnmarshaller();
- return (JAXBElement<PolicyType>) u.unmarshal(xacmlFile);
- } catch (Exception e) {
- if (logger.isWarnEnabled()) {
- logger.warn(XACMLErrorConstants.ERROR_DATA_ISSUE + " - error: " + xacmlPath + " is invalid.");
- }
- throw new IllegalArgumentException(xacmlFile.getAbsolutePath() + " does not contain valid XACML");
- }
- }
-
- public JAXBElement<PolicyType> getPolicy() {
- return policy;
- }
-
- protected String getScope(String xacmlDirPath) {
- if (logger.isTraceEnabled()) logger.trace("ENTER");
-
- xacmlDirPath = xacmlDirPath.replaceAll("//", "/");
- xacmlDirPath = xacmlDirPath.replaceAll("\\\\", "/");
- xacmlDirPath = xacmlDirPath.replace('\\', '/');
-
- String ws = XACMLProperties.getProperty(XACMLRestProperties.PROP_ADMIN_WORKSPACE);
- String adminRepo = XACMLProperties.getProperty(XACMLRestProperties.PROP_ADMIN_REPOSITORY);
- Path wsPath = Paths.get(ws, "admin", adminRepo);
- File repoDir = wsPath.toFile();
- String repoPath = repoDir.getPath();
- repoPath = repoPath.replaceAll("//", "/");
- repoPath = repoPath.replaceAll("\\\\", "/");
- repoPath = repoPath.replace('\\', '/');
-
- int startIndex = xacmlDirPath.indexOf(repoPath.toString()) + repoPath.toString().length() + 1;
- String scope = xacmlDirPath.substring(startIndex, xacmlDirPath.length());
-
- if (logger.isInfoEnabled())
- logger.info("xacml-policy-path=" + xacmlDirPath + "|" +
- "repository-path=" + repoPath + "|" +
- "scope=" + scope);
-
- return scope;
- }
-
- @SuppressWarnings("deprecation")
- private boolean bodyFromXacml() {
- if (logger.isTraceEnabled())
- logger.trace("ENTER");
-
- String urlAttribute = URLID_ATTRIBUTE;
- try {
- switch (ElkConnector.toPolicyType(this.type)) {
- case Action:
- urlAttribute = BODY_ATTRIBUTE;
- break;
- case Decision:
- case none:
- /* no body attached to decision policies */
- if (logger.isInfoEnabled())
- logger.info("No body attached for this type of policy: " + this.xacmlFile.getAbsolutePath());
- return false;
- default:
- /* a flavour of a config policy - default is fine */
- break;
- }
- } catch (IllegalArgumentException iae) {
- if (logger.isWarnEnabled()) {
- logger.warn(this.type + " cannot be converted to a valid type: " + iae.getMessage(), iae);
- }
- return false;
- }
-
- AttributeAssignmentFinderProcessor
- processor = new AttributeAssignmentFinderProcessor(urlAttribute);
- XACMLPolicyScanner xacmlScanner =
- new XACMLPolicyScanner(this.policy.getValue(), processor);
- xacmlScanner.scan();
- if (!processor.isAttributeValue()) {
- if (logger.isInfoEnabled())
- logger.info(urlAttribute + " not found in " + this.xacmlFile.getAbsolutePath());
- return false;
- }
-
- String configsUrl = XACMLProperties.getProperty(XACMLRestProperties.PROP_CONFIG_URL);
- if (configsUrl == null || configsUrl.isEmpty() || !configsUrl.startsWith("http")) {
- if (logger.isWarnEnabled()) {
- logger.warn(XACMLRestProperties.PROP_CONFIG_URL + " property is not set.");
- }
- configsUrl = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_URL);
- if (configsUrl == null || configsUrl.isEmpty() || !configsUrl.startsWith("http")) {
- if (logger.isWarnEnabled()) {
- logger.warn(XACMLRestProperties.PROP_PAP_URL + " property is not set.");
- }
- return false;
- } else {
- configsUrl = configsUrl.replaceFirst("/pap", "");
- }
- }
-
- if (!configsUrl.endsWith("/")) {
- configsUrl += "/";
- }
-
- String urlXacml = processor.getAttributeValue();
- if (logger.isDebugEnabled()) {
- logger.debug("configs url is " + configsUrl + "and url in xacml is " + urlXacml);
- }
-
- if (urlXacml.startsWith("http")) {
- // assuming this an unescaped url
- } else if (urlXacml.startsWith("$URLConfig/")) {
- urlXacml = urlXacml.replace("$URLConfig/", configsUrl);
- } else if (urlXacml.startsWith("$URL/")) {
- urlXacml = urlXacml.replace("$URL/", configsUrl);
- } else{
- if (logger.isWarnEnabled()) {
- logger.warn("XACML url is not in the expected format: " + urlXacml);
- }
- return false;
- }
-
- if (urlXacml.endsWith(".properties")) {
- this.bodyType = PolicyBodyType.properties;
- } else if (urlXacml.endsWith(".json")) {
- this.bodyType = PolicyBodyType.json;
- } else if (urlXacml.endsWith(".xml")) {
- this.bodyType = PolicyBodyType.xml;
- } else if (urlXacml.endsWith(".txt")) {
- this.bodyType = PolicyBodyType.txt;
- }
-
- if (logger.isDebugEnabled()) {
- logger.debug("converted url from xacml is " + urlXacml + ", body-type is " + this.bodyType);
- }
-
- InputStream inConfigs = null;
- try {
- URL url = new URL(urlXacml);
- URLConnection connection = url.openConnection();
- inConfigs = connection.getInputStream();
- String encoding = connection.getContentEncoding();
- encoding = (encoding == null ? "UTF-8" : encoding);
- this.body = IOUtils.toString(inConfigs, encoding);
- if (logger.isInfoEnabled()) {
- logger.info("The following document of type " + this.bodyType.toString() +
- " has been fetched from " + urlXacml + System.lineSeparator() +
- this.body);
- }
- try {
- inConfigs.close();
- } catch (IOException e) {
- // ignore
- logger.warn("Unexpected error closing stream to " + urlXacml, e);
- }
- return true;
- } catch (Exception e) {
- if (logger.isWarnEnabled()) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR +
- "- XACML url is not in the expected format: " + e.getMessage() +
- ": " + urlXacml, e);
- }
- // continue
- } finally {
- if (inConfigs != null) {
- try {
- inConfigs.close();
- } catch (IOException e) {
- // ignore
- logger.warn("Unexpected error closing stream to " + urlXacml, e);
- }
- }
- }
-
- // if retrieval through PAP url was not possible, try to retrieve it from
- // filesystem instead.
-
- if (this.body == null || this.body.isEmpty()) {
- Path webappsPath = Paths.get(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_WEBAPPS));
- if (webappsPath == null) {
- logger.error("Invalid Webapps Path Location property : " +
- XACMLRestProperties.PROP_PAP_WEBAPPS);
- return false;
- }
- String waPath = webappsPath.toFile().getAbsolutePath();
-
- String typeDir = null;
- try {
- typeDir = Xacml2Elk.toConfigsWebDirectory(this.type);
- } catch (IllegalArgumentException iae) {
- if (logger.isWarnEnabled()) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR +
- "- " + this.type +
- " cannot be converted to body-directory: " + iae.getMessage(),
- iae);
- }
- this.bodyType = PolicyBodyType.none;
- return false;
- }
-
- String scopePrefix = this.scope.replace('/', '.');
- Path bodyPath = Paths.get(waPath,
- typeDir,
- scopePrefix + "." + this.type + "_" +
- this.name + "." + this.bodyType.name());
- File bodyFile = bodyPath.toFile();
- if (Files.notExists(bodyPath)) {
- if (logger.isWarnEnabled()) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR +
- "The following document of type " + this.bodyType.toString() +
- " does not exist at filesystem location " + bodyFile.getAbsolutePath());
- }
- this.bodyType = PolicyBodyType.none;
- return false;
- } else {
- if (logger.isInfoEnabled()) {
- logger.info("The following document of type " + this.bodyType.toString() +
- " will be fetched from filesystem location " + bodyFile.getAbsolutePath());
- }
- }
-
- try {
- inConfigs = new FileInputStream(bodyFile);
- this.body = IOUtils.toString(inConfigs);
- inConfigs.close();
- if (logger.isInfoEnabled()) {
- logger.info("The document of type " + this.bodyType.toString() +
- " has been found at filesystem location " + bodyFile.getAbsolutePath());
- }
- } catch (Exception e) {
- if (logger.isWarnEnabled()) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR +
- "- XACML Body File cannot be read: " + bodyFile.getAbsolutePath(), e);
- }
- this.bodyType = PolicyBodyType.none;
- return false;
- } finally {
- if (inConfigs != null) {
- try {
- inConfigs.close();
- } catch (IOException e) {
- // ignore
- logger.warn("Unexpected error closing stream to " + urlXacml, e);
- }
- } else {
- return false;
- }
- }
- }
- return true;
- }
-
- public boolean attachJsonBody(JsonNode jPolicy) {
- if (this.body == null) {
- if (logger.isWarnEnabled()) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR +
- "- JSON Body expected but none provided from " +
- this.scope + ":" + this.type + ":" + this.name);
- }
- return true;
- }
-
- ObjectNode jPolicyRoot = (ObjectNode) jPolicy;
-
- // verify the json is valid
- final ObjectMapper mapper = new ObjectMapper();
- JsonNode jBodyContent;
- try {
- jBodyContent = mapper.readTree(this.body);
- } catch (IOException e) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR +
- "- JSON Body is invalid in " +
- this.scope + ":" + this.type + ":" + this.name + ":" +
- e.getMessage() + System.lineSeparator() + this.body, e);
- return false;
- }
-
- String jBodyName = this.type + "_" + "Body";
- ObjectNode jBodyContainer = mapper.createObjectNode();
- jBodyContainer.set(jBodyName, jBodyContent);
-
- jPolicyRoot.set("Body", jBodyContainer);
-
- if (logger.isDebugEnabled())
- logger.debug("Attaching JSON to " +
- this.scope + ":" +
- this.type + ":" + this.name + ":" +
- jBodyName + System.lineSeparator() +
- jBodyContent);
-
- return true;
- }
-
- @SuppressWarnings("unchecked")
- public boolean attachXmlBody(JsonNode jPolicy) {
- if (this.body == null) {
- if (logger.isWarnEnabled()) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR +
- "- JSON Body expected but none provided from " +
- this.scope + ":" + this.type + ":" + this.name);
- }
- return true;
- }
-
- XmlMapper xmlMapper = new XmlMapper();
- xmlMapper.setConfig(xmlMapper.getSerializationConfig().withRootName(""));
- Map<Object, Object> map;
- try {
- map = xmlMapper.readValue(this.body, Map.class);
- } catch (IOException e) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR +
- "- XML Body is invalid in " +
- this.scope + ":" + this.type + ":" + this.name + ":" +
- e.getMessage() + System.lineSeparator() + this.body, e);
- return false;
- }
-
- final ObjectMapper mapper = new ObjectMapper();
- String jXmlBody;
- try {
- jXmlBody = mapper.writeValueAsString(map);
- } catch (JsonProcessingException e) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR +
- "- Cannot convert XML Body to JSON in " +
- this.scope + ":" + this.type + ":" + this.name + ":" +
- e.getMessage() + System.lineSeparator() + this.body, e);
- return false;
- }
-
- if (logger.isDebugEnabled())
- logger.debug("XML-to-JSON Body conversion: " + this.scope + ":" +
- this.type + ":" + this.name +jXmlBody);
-
- JsonNode jBodyContent;
- try {
- jBodyContent = mapper.readTree(jXmlBody);
- } catch (IOException e) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR +
- "- JSON Body (converted from XML) is invalid in " +
- this.scope + ":" + this.type + ":" + this.name + ":" +
- e.getMessage() + System.lineSeparator() + jXmlBody, e);
- return false;
- }
-
- ObjectNode jPolicyRoot = (ObjectNode) jPolicy;
-
- String jBodyName = this.type + "_" + "Body";
- ObjectNode jBodyContainer = mapper.createObjectNode();
- jBodyContainer.set(jBodyName, jBodyContent);
-
- jPolicyRoot.set("Body", jBodyContainer);
-
-
- if (logger.isDebugEnabled())
- logger.debug("Attaching JSON to " +
- this.scope + ":" +
- this.type + ":" + this.name + ":" +
- jBodyName + System.lineSeparator() +
- jBodyContent);
-
- return true;
- }
-
- protected boolean attachPropertiesBody(JsonNode jPolicy) {
- if (this.body == null) {
- if (logger.isWarnEnabled()) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR +
- "- JSON Body expected but none provided from " +
- this.scope + ":" + this.type + ":" + this.name);
- }
- return true;
- }
-
- final Properties propBody = new Properties();
- try {
- propBody.load(new StringReader(this.body));
- } catch (IOException e) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR +
- "- JSON Body is invalid in " +
- this.scope + ":" + this.type + ":" + this.name + ":" +
- e.getMessage() + System.lineSeparator() + this.body, e);
- return false;
- }
-
- if (propBody.isEmpty()) {
- if (logger.isInfoEnabled()) {
- logger.info("Empty set of properties: " +
- this.scope + ":" + this.type + ":" + this.name +
- System.lineSeparator() + this.body);
- }
- return true;
- }
-
-
- final ObjectMapper mapper = new ObjectMapper();
-
- ObjectNode jPolicyRoot = (ObjectNode) jPolicy;
- ObjectNode jBody = jPolicyRoot.putObject("Body");
- String jBodyName = this.type + "_" + "Body";
- ObjectNode jBodyContainer = jBody.putObject(jBodyName);
-
- // ObjectNode jBodyContainer = mapper.createObjectNode();
-
- for(String key : propBody.stringPropertyNames()) {
- String value = propBody.getProperty(key);
- if (logger.isDebugEnabled()) {
- logger.debug("Attaching JSON field to " + jBodyName + " for " +
- this.type.toString() + ":" +
- this.scope + ":" + this.name + ":" + jBodyName + ":" +
- " <" + key +"," + value + ">");
- }
- jBodyContainer.put(key, propBody.getProperty(key));
- }
-
- return true;
- }
-
- public boolean attachTextBody(JsonNode jPolicy) {
- if (this.body == null) {
- if (logger.isWarnEnabled()) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR +
- "- JSON Body expected but none provided from " +
- this.scope + ":" + this.type + ":" + this.name);
- }
- return true;
- }
-
- final ObjectMapper mapper = new ObjectMapper();
- StringWriter jsonEscapedTextWriter = new StringWriter();
- try {
- mapper.writer().writeValue(jsonEscapedTextWriter, this.body);
- } catch (IOException e) {
- if (logger.isWarnEnabled()) {
- logger.warn(XACMLErrorConstants.ERROR_SYSTEM_ERROR +
- "- Text Body cannot be converted from " +
- this.scope + ":" + this.type + ":" + this.name + ":" +
- e.getMessage() + ":" + jsonEscapedTextWriter , e);
- }
- return false;
- }
- String jTextBody = jsonEscapedTextWriter.toString();
-
- if (logger.isDebugEnabled())
- logger.debug("XML 2JSON Body conversion: " + this.scope + ":" +
- this.type + ":" + this.name + ":" + jTextBody);
-
- ObjectNode jPolicyRoot = (ObjectNode) jPolicy;
-
- String jBodyName = this.type + "_" + "Body";
- ObjectNode jBodyContainer = mapper.createObjectNode();
- jBodyContainer.put(jBodyName, jTextBody);
-
- jPolicyRoot.set("Body", jBodyContainer);
-
- if (logger.isDebugEnabled())
- logger.debug("Attaching JSON to " +
- this.scope + ":" +
- this.type + ":" + this.name + ":" +
- jBodyName + ":" +
- jTextBody);
-
- return true;
- }
-
- protected boolean attachBody(JsonNode jPolicy) {
- if (logger.isTraceEnabled()) logger.trace("ENTER");
-
- if (this.bodyType == PolicyBodyType.none) {
- if (logger.isInfoEnabled())
- logger.info("No body to attach for policy " +
- this.scope + "/" + this.type + "_" + this.name);
-
- return true;
- }
-
- if (this.body == null || this.body.isEmpty()) {
- if (logger.isWarnEnabled())
- logger.warn("No body to attach for policy " +
- this.bodyType + this.type + this.scope + this.name);
-
- return true;
- }
-
- switch (this.bodyType) {
- case json:
- return attachJsonBody(jPolicy);
- case properties:
- return attachPropertiesBody(jPolicy);
- case xml:
- return attachXmlBody(jPolicy);
- case txt:
- return attachTextBody(jPolicy);
- case none:
- default:
- if (logger.isWarnEnabled())
- logger.warn("Unexpected body type: " + this.bodyType +
- this.bodyType + this.type + this.scope + this.name);
- return false;
- }
- }
-
- public ElkRecord record() throws JAXBException, JsonProcessingException,
- IOException, IllegalArgumentException {
- if (logger.isTraceEnabled()) logger.trace("ENTER");
-
- Marshaller m = jaxbContext.createMarshaller();
- m.setProperty(MarshallerProperties.MEDIA_TYPE, "application/json");
- m.setProperty(MarshallerProperties.JSON_INCLUDE_ROOT, true);
- m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
- m.setProperty(MarshallerProperties.JSON_REDUCE_ANY_ARRAYS, true);
- m.setProperty(MarshallerProperties.JSON_MARSHAL_EMPTY_COLLECTIONS, false);
-
- StringWriter policyStringWriter = new StringWriter();
- m.marshal(policy, policyStringWriter);
-
- // add metadata to elk record
-
- final ObjectMapper mapper = new ObjectMapper();
- JsonNode jRoot = mapper.readTree(policyStringWriter.toString());
- JsonNode jPolicy = jRoot.path("Policy");
- if (jPolicy.isMissingNode()) {
- logger.warn("Aborting: Policy root node is missing.");
- throw new IllegalArgumentException("Missing policy root node");
- }
-
- ((ObjectNode) jPolicy).put("PolicyType", this.type.toString());
- ((ObjectNode) jPolicy).put("PolicyName", this.name);
- ((ObjectNode) jPolicy).put("Owner", this.owner);
- ((ObjectNode) jPolicy).put("Scope", this.scope);
-
- JsonNode jPolicyId = jPolicy.path("PolicyId");
- if (jPolicyId.isMissingNode()) {
- logger.warn("Aborting: Policy ID node is missing.");
- throw new IllegalArgumentException("Missing policy id");
- }
-
- if (!jPolicyId.isTextual() || !jPolicyId.isValueNode()) {
- logger.warn("Aborting: Policy ID invalid.");
- throw new IllegalArgumentException("Invalid policy id");
- }
-
- String xacmlPolicyId = jPolicyId.asText();
- String policyId = xacmlPolicyId.substring(xacmlPolicyId.lastIndexOf(":")+1);
-
- boolean success = attachBody(jPolicy);
-
- mapper.configure(SerializationFeature.INDENT_OUTPUT, true);
- mapper.configure(SerializationFeature.WRITE_ENUMS_USING_TO_STRING, true);
- mapper.configure(SerializationFeature.WRITE_EMPTY_JSON_ARRAYS, false);
- mapper.configure(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED, true);
-
- String recordText = mapper.writeValueAsString(jRoot);
- if (logger.isDebugEnabled()) {
- logger.debug("ELK Record: " + System.lineSeparator() + recordText);
- }
-
- ElkRecord elkRecord = new ElkRecord(policyId, recordText, jRoot, success);
- return elkRecord;
- }
-
- public void store(String policyId, String record) throws IOException {
- if (logger.isTraceEnabled()) logger.trace("ENTER");
-
- if (this.elkDirectory != null) {
- Files.createDirectories(this.elkDirectory.toPath());;
- Path elkPolicyFile = Paths.get(this.elkDirectory.getPath(), policyId + ".json");
-
- if (logger.isDebugEnabled()) {
- logger.info("Output: " + elkPolicyFile.toAbsolutePath().toString());
- logger.info("---------------------------------------------------");
- }
-
- Files.write(elkPolicyFile, record.getBytes());
- }
- }
-
- public static void main(String args[])
- throws JAXBException, IOException, CmdLineException, IllegalStateException {
-
- CLIOptions cliOptions = new CLIOptions();
- CmdLineParser cliParser= new CmdLineParser(cliOptions);
-
- try {
- cliParser.parseArgument(args);
- } catch (CmdLineException e) {
- System.err.println("Usage: Xacml2elk");
- cliParser.printUsage(System.err);
- throw e;
- }
-
- System.out.println("---------------------------------------------------");
- System.out.println("Converting " + cliOptions.xacmlFile.getName() + " to ELK format");
- System.out.println("Metadata=" + "[type:" + cliOptions.type +
- "|name:" + cliOptions.name +
- "|owner:" + cliOptions.owner +
- "|scope:" + cliOptions.scope + "]");
-
- // generate json from jaxb input file
-
- Path xacmlPath = cliOptions.xacmlFile.toPath();
- if (!Files.isReadable(xacmlPath) || !Files.isRegularFile(xacmlPath)) {
- System.out.println("Error: " + xacmlPath + " is invalid.");
- throw new IllegalArgumentException("Error: " + xacmlPath + " is invalid.");
- }
-
-
- Xacml2Elk convertor = new Xacml2Elk(cliOptions);
- ElkRecord elkRecord = convertor.record();
- System.out.println(elkRecord.record);
-
- Path elkOutDir = cliOptions.elkDirectory.toPath();
- if (!Files.isReadable(elkOutDir) || !Files.isDirectory(elkOutDir) ||
- !Files.isWritable(elkOutDir) || !Files.isExecutable(elkOutDir)) {
- System.out.println("Error: " + elkOutDir.getFileName() + " is invalid.");
- throw new IllegalArgumentException("Error: " + elkOutDir.getFileName() + " is invalid.");
- }
-
- convertor.store(elkRecord.policyId, elkRecord.record);
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/model/PDPGroupContainer.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/model/PDPGroupContainer.java
deleted file mode 100644
index fd996f444..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/model/PDPGroupContainer.java
+++ /dev/null
@@ -1,531 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.model;
-
-
-import java.awt.Checkbox;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-
-import org.openecomp.policy.utils.PolicyContainer;
-import org.openecomp.policy.utils.PolicyItemSetChangeNotifier;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import org.openecomp.policy.xacml.api.pap.EcompPDP;
-import org.openecomp.policy.xacml.api.pap.EcompPDPGroup;
-import org.openecomp.policy.xacml.api.pap.PAPPolicyEngine;
-
-import com.att.research.xacml.api.pap.PAPEngine;
-import com.att.research.xacml.api.pap.PAPException;
-import com.att.research.xacml.api.pap.PDP;
-//import com.att.research.xacml.api.pap.PDP;
-//import com.att.research.xacml.api.pap.PDPGroup;
-import com.att.research.xacml.api.pap.PDPPIPConfig;
-import com.att.research.xacml.api.pap.PDPPolicy;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-public class PDPGroupContainer extends PolicyItemSetChangeNotifier implements PolicyContainer.Indexed, PolicyContainer.ItemSetChangeNotifier {
- private static final long serialVersionUID = 1L;
- private static Logger logger = FlexLogger.getLogger(PDPGroupContainer.class);
-
- /**
- * String identifier of a file's "Id" property.
- */
- public static String PROPERTY_ID = "Id";
-
- /**
- * String identifier of a file's "name" property.
- */
- public static String PROPERTY_NAME = "Name";
-
- /**
- * String identifier of a file's "Description" property.
- */
- public static String PROPERTY_DESCRIPTION = "Description";
-
- /**
- * String identifier of a file's "Default" property.
- */
- public static String PROPERTY_DEFAULT = "Default";
-
- /**
- * String identifier of a file's "icon" property.
- */
- public static String PROPERTY_ICON = "Icon";
-
- /**
- * String identifier of a file's "Status" property.
- */
- public static String PROPERTY_STATUS = "Status";
-
- /**
- * String identifier of a file's "PDPs" property.
- */
- public static String PROPERTY_PDPS = "PDPs";
-
- /**
- * String identifier of a file's "Policies" property.
- */
- public static String PROPERTY_POLICIES = "Policies";
-
- /**
- * String identifier of a file's "PIP Configurations" property.
- */
- public static String PROPERTY_PIPCONFIG = "PIP Configurations";
-
- /**
- * String identifier of a file's "Selected" property.
- */
- public static String PROPERTY_SELECTED = "Selected";
-
- /**
- * List of the string identifiers for the available properties.
- */
- public static Collection<String> PDP_PROPERTIES;
-
- private PAPPolicyEngine papEngine = null;
- protected List<EcompPDPGroup> groups = Collections.synchronizedList(new ArrayList<EcompPDPGroup>());
-
- public PDPGroupContainer(PAPPolicyEngine papPolicyEngine) {
- super();
- this.setContainer(this);
- //
- //
- //
- this.papEngine = (PAPPolicyEngine) papPolicyEngine;
- //
- //
- //
- this.refreshGroups();
- }
-
- public boolean isSupported(Object itemId) {
- if (itemId instanceof EcompPDPGroup) {
- return true;
- }
- return false;
- }
-
- public synchronized void refreshGroups() {
- synchronized(this.groups) {
- this.groups.clear();
- try {
- this.groups.addAll(this.papEngine.getEcompPDPGroups());
- } catch (PAPException e) {
- String message = "Unable to retrieve Groups from server: " + e;
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + message, e);
- }
- logger.info("refreshGroups");
- }
- //
- // Notify that we have changed
- //
- this.fireItemSetChange();
- }
-
- public List<EcompPDPGroup> getGroups() {
- return Collections.unmodifiableList(this.groups);
- }
-
- public void makeDefault(EcompPDPGroup group) {
- try {
- this.papEngine.SetDefaultGroup(group);
- } catch (PAPException e) {
- String message = "Unable to set Default Group on server: " + e;
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + message, e);
- }
- return;
- }
-
- public void removeGroup(EcompPDPGroup group, EcompPDPGroup newGroup) throws PAPException {
- if (logger.isTraceEnabled()) {
- logger.trace("removeGroup: " + group + " new group for PDPs: " + newGroup);
- }
- if (group.isDefaultGroup()) {
- throw new UnsupportedOperationException("You can't remove the Default Group.");
- }
- try {
- this.papEngine.removeGroup(group, newGroup);
- } catch (NullPointerException | PAPException e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Failed to removeGroup " + group.getId(), e);
- throw new PAPException("Failed to remove group '" + group.getId()+ "'", e);
- }
- }
-
- public void removePDP(EcompPDP pdp, EcompPDPGroup group) throws PAPException {
- if (logger.isTraceEnabled()) {
- logger.trace("removePDP: " + pdp + " from group: " + group);
- }
- try {
- this.papEngine.removePDP(pdp);
- } catch (PAPException e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Failed to removePDP " + pdp.getId(), e);
- throw new PAPException("Failed to remove pdp '" + pdp.getId()+ "'", e);
- }
- }
-
- public void updatePDP(EcompPDP pdp) {
- try {
- papEngine.updatePDP(pdp);
- } catch (PAPException e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
- }
- }
-
- public void updateGroup(EcompPDPGroup group) {
- try {
- papEngine.updateGroup(group);
- } catch (PAPException e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
- }
- }
-
- @Override
- public Collection<?> getContainerPropertyIds() {
- return PDP_PROPERTIES;
- }
-
- @Override
- public Collection<?> getItemIds() {
- final Collection<Object> items = new ArrayList<Object>();
- items.addAll(this.groups);
- if (logger.isTraceEnabled()) {
- logger.trace("getItemIds: " + items);
- }
- return Collections.unmodifiableCollection(items);
- }
-
- @Override
- public Class<?> getType(Object propertyId) {
- if (propertyId.equals(PROPERTY_ID)) {
- return String.class;
- }
- if (propertyId.equals(PROPERTY_NAME)) {
- return String.class;
- }
- if (propertyId.equals(PROPERTY_DESCRIPTION)) {
- return String.class;
- }
- if (propertyId.equals(PROPERTY_DEFAULT)) {
- return Boolean.class;
- }
- if (propertyId.equals(PROPERTY_STATUS)) {
- return String.class;
- }
- if (propertyId.equals(PROPERTY_PDPS)) {
- return Set.class;
- }
- if (propertyId.equals(PROPERTY_POLICIES)) {
- return Set.class;
- }
- if (propertyId.equals(PROPERTY_PIPCONFIG)) {
- return Set.class;
- }
- if (propertyId.equals(PROPERTY_SELECTED)) {
- return Checkbox.class;
- }
- return null;
- }
-
- @Override
- public int size() {
- return this.groups.size();
- }
-
- @Override
- public boolean containsId(Object itemId) {
- if (logger.isTraceEnabled()) {
- logger.trace("containsId: " + itemId);
- }
- if (this.isSupported(itemId) == false) {
- return false;
- }
- return this.groups.contains(itemId);
- }
-
- @Override
- public Object addItem() throws UnsupportedOperationException {
- throw new UnsupportedOperationException("PDP Container cannot add a given item.");
- }
-
- public void addNewGroup(String name, String description) throws NullPointerException, PAPException {
- if (logger.isTraceEnabled()) {
- logger.trace("addNewGroup " + name + " " + description);
- }
- this.papEngine.newGroup(name, description);
- }
-
- public void addNewPDP(String id, EcompPDPGroup group, String name, String description, int jmxport) throws NullPointerException, PAPException {
- if (logger.isTraceEnabled()) {
- logger.trace("addNewPDP " + id + " " + name + " " + description + " " + jmxport);
- }
- this.papEngine.newPDP(id, group, name, description, jmxport);
- }
-
- public void movePDP(EcompPDP pdp, EcompPDPGroup group) {
- try {
- this.papEngine.movePDP(pdp, group);
- } catch (PAPException e) {
- String message = "Unable to move PDP to new group on server: " + e;
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + message, e);
- }
- return;
- }
-
- @Override
- public boolean addContainerProperty(Object propertyId, Class<?> type, Object defaultValue) throws UnsupportedOperationException {
- throw new UnsupportedOperationException("Cannot add a container property.");
- }
-
- @Override
- public boolean removeContainerProperty(Object propertyId) throws UnsupportedOperationException {
- throw new UnsupportedOperationException("Cannot remove a container property.");
- }
-
- @Override
- public boolean removeAllItems() throws UnsupportedOperationException {
- throw new UnsupportedOperationException("PDP Container cannot remove all items. You must have at least the Default group.");
- }
-
- @Override
- public void addItemSetChangeListener(ItemSetChangeListener listener) {
- if (getItemSetChangeListeners() == null) {
- setItemSetChangeListeners(new LinkedList<PolicyContainer.ItemSetChangeListener>());
- }
- getItemSetChangeListeners().add(listener);
- }
-
- @Override
- public Object nextItemId(Object itemId) {
- if (this.isSupported(itemId) == false) {
- return null;
- }
- int index = this.groups.indexOf(itemId);
- if (index == -1) {
- //
- // We don't know this group
- //
- return null;
- }
- //
- // Is it the last one?
- //
- if (index == this.groups.size() - 1) {
- //
- // Yes
- //
- return null;
- }
- //
- // Return the next one
- //
- return this.groups.get(index + 1);
- }
-
- @Override
- public Object prevItemId(Object itemId) {
- if (this.isSupported(itemId) == false) {
- return null;
- }
- int index = this.groups.indexOf(itemId);
- if (index == -1) {
- //
- // We don't know this group
- //
- return null;
- }
- //
- // Is it the first one?
- //
- if (index == 0) {
- //
- // Yes
- //
- return null;
- }
- //
- // Return the previous one
- //
- return this.groups.get(index - 1);
- }
-
- @Override
- public Object firstItemId() {
- synchronized (this.groups) {
- if (this.groups.size() > 0) {
- return this.groups.get(0);
- }
- }
- return null;
- }
-
- @Override
- public Object lastItemId() {
- synchronized (this.groups) {
- if (this.groups.size() > 0) {
- return this.groups.get(this.groups.size() - 1);
- }
- }
- return null;
- }
-
- @Override
- public boolean isFirstId(Object itemId) {
- synchronized (this.groups) {
- if (this.groups.size() > 0) {
- return (this.groups.get(0).equals(itemId));
- }
- }
- return false;
- }
-
- @Override
- public boolean isLastId(Object itemId) {
- synchronized (this.groups) {
- if (this.groups.size() > 0) {
- return (this.groups.get(this.groups.size() - 1).equals(itemId));
- }
- }
- return false;
- }
-
- @Override
- public Object addItemAfter(Object previousItemId) throws UnsupportedOperationException {
- throw new UnsupportedOperationException("Cannot addItemAfter, there really is no real ordering.");
- }
-
- @Override
- public int indexOfId(Object itemId) {
- return this.groups.indexOf(itemId);
- }
-
- @Override
- public Object getIdByIndex(int index) {
- return this.groups.get(index);
- }
-
- @Override
- public List<?> getItemIds(int startIndex, int numberOfItems) {
- synchronized (this.groups) {
- int endIndex = startIndex + numberOfItems;
- if (endIndex > this.groups.size()) {
- endIndex = this.groups.size() - 1;
- }
- return this.groups.subList(startIndex, endIndex);
- }
- }
-
- @Override
- public Object addItemAt(int index) throws UnsupportedOperationException {
- throw new UnsupportedOperationException("Cannot addItemAt");
- }
-
- @Override
- public boolean removeItem(Object itemId) throws UnsupportedOperationException {
- if (logger.isTraceEnabled()) {
- logger.trace("removeItem: " + itemId);
- }
- if (this.isSupported(itemId) == false) {
- return false;
- }
- //
- // You cannot remove the default group
- //
- if (((EcompPDPGroup) itemId).getId().equals("Default")) {
- throw new UnsupportedOperationException("You can't remove the Default Group.");
- }
- //
- // Remove PDPGroup and move any PDP's in it into the default group
- //
- try {
- this.papEngine.removeGroup((EcompPDPGroup) itemId, this.papEngine.getDefaultGroup());
- return true;
- } catch (NullPointerException | PAPException e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Failed to remove group", e);
- }
- return false;
- }
-
- public class PDPGroupItem{
- private final EcompPDPGroup group;
-
- public PDPGroupItem(EcompPDPGroup itemId) {
- this.group = itemId;
- }
-
- public String getId() {
- if (logger.isTraceEnabled()) {
- logger.trace("getId: " + this.group);
- }
- return this.group.getId();
- }
-
- public String getName() {
- if (logger.isTraceEnabled()) {
- logger.trace("getName: " + this.group);
- }
- return this.group.getName();
- }
-
- public String getDescription() {
- if (logger.isTraceEnabled()) {
- logger.trace("getDescription: " + this.group);
- }
- return this.group.getDescription();
- }
-
- public Boolean getDefault() {
- if (logger.isTraceEnabled()) {
- logger.trace("getDefault: " + this.group);
- }
- return this.group.isDefaultGroup();
- }
-
-
- public String getStatus() {
- return this.group.getStatus().getStatus().toString();
- }
-
- public Set<PDP> getPDPs() {
- return Collections.unmodifiableSet(this.group.getPdps());
- }
-
- public Set<PDPPolicy> getPolicies() {
- if (logger.isTraceEnabled()) {
- logger.trace("getPolicies: " + this.group);
- }
- return this.group.getPolicies();
- }
-
- public Set<PDPPIPConfig> getPipConfigs() {
- if (logger.isTraceEnabled()) {
- logger.trace("getPIPConfigs: " + this.group);
- }
- return this.group.getPipConfigs();
- }
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/model/PDPPolicyContainer.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/model/PDPPolicyContainer.java
deleted file mode 100644
index bea7915a4..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/model/PDPPolicyContainer.java
+++ /dev/null
@@ -1,348 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.model;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Set;
-
-import org.openecomp.policy.utils.PolicyContainer;
-import org.openecomp.policy.utils.PolicyItemSetChangeNotifier;
-import org.openecomp.policy.common.logging.flexlogger.*;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import com.att.research.xacml.api.pap.PDP;
-import com.att.research.xacml.api.pap.PDPGroup;
-import com.att.research.xacml.api.pap.PDPPolicy;
-import org.openecomp.policy.xacml.std.pap.StdPDPPolicy;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
-public class PDPPolicyContainer extends PolicyItemSetChangeNotifier implements PolicyContainer.Indexed {
- private static final long serialVersionUID = 1L;
- private static Logger logger = FlexLogger.getLogger(PDPPolicyContainer.class);
-
- /**
- * String identifier of a file's "Id" property.
- */
- public static String PROPERTY_ID = "Id";
-
- /**
- * String identifier of a file's "name" property.
- */
- public static String PROPERTY_NAME = "Name";
-
- /**
- * String identifier of a file's "name" property.
- */
- public static String PROPERTY_VERSION = "Version";
-
- /**
- * String identifier of a file's "Description" property.
- */
- public static String PROPERTY_DESCRIPTION = "Description";
-
- /**
- * String identifier of a file's "IsRoot" property.
- */
- public static String PROPERTY_ISROOT = "Root";
-
- /**
- * List of the string identifiers for the available properties.
- */
- public static Collection<String> PDPPOLICY_PROPERTIES;
-
- private final Object data;
- private List<PDPPolicy> policies;
-
- @SuppressWarnings("unchecked")
- public PDPPolicyContainer(Object data) {
- super();
- this.data = data;
- if (this.data instanceof PDPGroup) {
- policies = new ArrayList<PDPPolicy> (((PDPGroup) this.data).getPolicies());
- }
- if (this.data instanceof PDP) {
- policies = new ArrayList<PDPPolicy> (((PDP) this.data).getPolicies());
- }
- if (this.data instanceof Set) {
- policies = new ArrayList<PDPPolicy> ((Set<PDPPolicy>)data);
- }
- if (this.policies == null) {
- logger.info("NULL policies");
- throw new NullPointerException("PDPPolicyContainer created with unexpected Object type '" + data.getClass().getName() + "'");
- }
- this.setContainer(this);
- }
-
- @Override
- public Object nextItemId(Object itemId) {
- if (logger.isTraceEnabled()) {
- logger.trace("nextItemId: " + itemId);
- }
- int index = this.policies.indexOf(itemId);
- if (index == -1 || ((index + 1) >= this.policies.size())) {
- return null;
- }
- return new PDPPolicyItem(this.policies.get(index + 1));
- }
-
- @Override
- public Object prevItemId(Object itemId) {
- if (logger.isTraceEnabled()) {
- logger.trace("prevItemId: " + itemId);
- }
- int index = this.policies.indexOf(itemId);
- if (index <= 0) {
- return null;
- }
- return new PDPPolicyItem(this.policies.get(index - 1));
- }
-
- @Override
- public Object firstItemId() {
- if (logger.isTraceEnabled()) {
- logger.trace("firstItemId: ");
- }
- if (this.policies.isEmpty()) {
- return null;
- }
- return new PDPPolicyItem(this.policies.get(0));
- }
-
- @Override
- public Object lastItemId() {
- if (logger.isTraceEnabled()) {
- logger.trace("lastItemid: ");
- }
- if (this.policies.isEmpty()) {
- return null;
- }
- return new PDPPolicyItem(this.policies.get(this.policies.size() - 1));
- }
-
- @Override
- public boolean isFirstId(Object itemId) {
- if (logger.isTraceEnabled()) {
- logger.trace("isFirstId: " + itemId);
- }
- if (this.policies.isEmpty()) {
- return false;
- }
- return (itemId.equals(this.policies.get(0)));
- }
-
- @Override
- public boolean isLastId(Object itemId) {
- if (logger.isTraceEnabled()) {
- logger.trace("isLastId: " + itemId);
- }
- if (this.policies.isEmpty()) {
- return false;
- }
- return (itemId.equals(this.policies.get(this.policies.size() - 1)));
- }
-
- @Override
- public Object addItemAfter(Object previousItemId)
- throws UnsupportedOperationException {
- return null;
- }
-
- @Override
- public Collection<?> getContainerPropertyIds() {
- return PDPPOLICY_PROPERTIES;
- }
-
- @Override
- public Collection<?> getItemIds() {
- final Collection<Object> items = new ArrayList<Object>();
- items.addAll(this.policies);
- return Collections.unmodifiableCollection(items);
- }
-
-
- @Override
- public Class<?> getType(Object propertyId) {
- if (propertyId.equals(PROPERTY_ID)) {
- return String.class;
- }
- if (propertyId.equals(PROPERTY_NAME)) {
- return String.class;
- }
- if (propertyId.equals(PROPERTY_VERSION)) {
- return String.class;
- }
- if (propertyId.equals(PROPERTY_DESCRIPTION)) {
- return String.class;
- }
- if (propertyId.equals(PROPERTY_ISROOT)) {
- return Boolean.class;
- }
- return null;
- }
-
- @Override
- public int size() {
- if (logger.isTraceEnabled()) {
- logger.trace("size: " + this.policies.size());
- }
- return this.policies.size();
- }
-
- @Override
- public boolean containsId(Object itemId) {
- if (logger.isTraceEnabled()) {
- logger.trace("containsId: " + itemId);
- }
- return this.policies.contains(itemId);
- }
-
- @Override
- public Object addItem() throws UnsupportedOperationException {
- throw new UnsupportedOperationException("Cannot add an empty policy.");
- }
-
- @Override
- public boolean removeItem(Object itemId)
- throws UnsupportedOperationException {
- if (logger.isTraceEnabled()) {
- logger.trace("removeItem: " + itemId);
- }
- ObjectMapper mapper = new ObjectMapper();
- mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
- StdPDPPolicy pdpPolicy = null;
- try {
- pdpPolicy = mapper.readValue(itemId.toString() , StdPDPPolicy.class);
- for(int i = 0; i< policies.size(); i++){
- if(policies.get(i).getId().equalsIgnoreCase(pdpPolicy.getId())){
- return this.policies.remove(this.policies.get(i));
- }
- }
- } catch (Exception e) {
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE + "Exception Occured While Mapping the Removing Policy from PDP Group to Std Policy"+e);
- }
- return this.policies.remove(itemId);
- }
-
- @Override
- public boolean addContainerProperty(Object propertyId, Class<?> type,
- Object defaultValue) throws UnsupportedOperationException {
- return false;
- }
-
- @Override
- public boolean removeContainerProperty(Object propertyId)
- throws UnsupportedOperationException {
- return false;
- }
-
- @Override
- public boolean removeAllItems() throws UnsupportedOperationException {
- return false;
- }
-
- @Override
- public int indexOfId(Object itemId) {
- if (logger.isTraceEnabled()) {
- logger.trace("indexOfId: " + itemId);
- }
- return this.policies.indexOf(itemId);
- }
-
- @Override
- public Object getIdByIndex(int index) {
- if (logger.isTraceEnabled()) {
- logger.trace("getIdByIndex: " + index);
- }
- return this.policies.get(index);
- }
-
- @Override
- public List<?> getItemIds(int startIndex, int numberOfItems) {
- if (logger.isTraceEnabled()) {
- logger.trace("getItemIds: " + startIndex + " " + numberOfItems);
- }
- if (numberOfItems < 0) {
- throw new IllegalArgumentException();
- }
- return this.policies.subList(startIndex, startIndex + numberOfItems);
- }
-
- @Override
- public Object addItemAt(int index) throws UnsupportedOperationException {
- if (logger.isTraceEnabled()) {
- logger.trace("addItemAt: " + index);
- }
- return null;
- }
-
- public class PDPPolicyItem {
- private final PDPPolicy policy;
-
- public PDPPolicyItem(PDPPolicy itemId) {
- this.policy = itemId;
- }
-
- public String getId() {
- if (logger.isTraceEnabled()) {
- logger.trace("getId: " + this.policy);
- }
- return this.policy.getId();
- }
-
- public String getName() {
- if (logger.isTraceEnabled()) {
- logger.trace("getName: " + this.policy);
- }
- return this.policy.getName();
- }
-
- public String getVersion() {
- if (logger.isTraceEnabled()) {
- logger.trace("getVersion: " + this.policy);
- }
- return this.policy.getVersion();
- }
-
- public String getDescription() {
- if (logger.isTraceEnabled()) {
- logger.trace("getDescription: " + this.policy);
- }
- return this.policy.getDescription();
- }
-
- public boolean getRoot() {
- if (logger.isTraceEnabled()) {
- logger.trace("isRoot: " + this.policy);
- }
- return this.policy.isRoot();
- }
-
- public void setRoot(Boolean root) {
- ((StdPDPPolicy)this.policy).setRoot(root);
- }
-
- }
-} \ No newline at end of file
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/model/Roles.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/model/Roles.java
deleted file mode 100644
index 5cad87f41..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/model/Roles.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.model;
-
-
-import java.io.Serializable;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Table;
-
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-
-@Entity
-@Table(name="Roles")
-@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
-public class Roles implements Serializable{
- private static final long serialVersionUID = 1L;
-
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
-
- @Column(name="id")
- private int id;
-
- private String loginId;
- private String name;
- private String scope;
- private String role;
-
- public Roles(){
-
- }
-
- public int getId() {
- return this.id;
- }
-
- public void setId(int id) {
- this.id = id;
- }
-
- public String getLoginId() {
- return this.loginId;
- }
-
- public void setLoginId(String loginId) {
- this.loginId = loginId;
-
- }
- public String getScope() {
- return this.scope;
- }
-
- public void setScope(String scope) {
- this.scope = scope;
-
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
- public String getRole() {
- return this.role;
- }
-
- public void setRole(String role) {
- this.role = role;
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/utils/ConfigurableRESTUtils.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/utils/ConfigurableRESTUtils.java
deleted file mode 100644
index eafd2196d..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/utils/ConfigurableRESTUtils.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.utils;
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStreamWriter;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.util.Map;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-
-public class ConfigurableRESTUtils {
-
- protected Logger logger = FlexLogger.getLogger(this.getClass());
-
- //
- // How the value is returned from the RESTful server
- // httpResponseCode means the result is simply the HTTP Response code (e.g. 200, 505, etc.)
- // other values identify the encoding used for the string in the body of the HTTP response
- //
- public enum REST_RESPONSE_FORMAT {httpResponseCode, json }
- public enum RESQUEST_METHOD {
- GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE;
- }
-
- public String ERROR_RECEIVED = "ERROR - Unexpected HTTP response: ";
-
- public ConfigurableRESTUtils() {
-
- }
-
-
- /**
- * Call the RESTful API and return a string containing the result. The string may be either a httpResponseCode or json body
- *
- * @param fullURI
- * @param hardCodedHeaders
- * @param httpResponseCodes
- * @param responseFormat
- * @param jsonBody
- * @param requestMethod
- * @return String
- */
- public String sendRESTRequest(String fullURI, Map<String, String> hardCodedHeaderMap,
- Map<Integer,String> httpResponseCodeMap,
- REST_RESPONSE_FORMAT responseFormat,
- String jsonBody,
- RESQUEST_METHOD requestMethod ){
-
- String responseString = null;
- HttpURLConnection connection = null;
- try {
-
- URL url = new URL(fullURI);
-
- //
- // Open up the connection
- //
- connection = (HttpURLConnection)url.openConnection();
- //
- // Setup our method and headers
- //
- connection.setRequestMethod(requestMethod.toString());
-
- connection.setUseCaches(false);
-
- // add hard-coded headers
- for (String headerName : hardCodedHeaderMap.keySet()) {
- connection.addRequestProperty(headerName, hardCodedHeaderMap.get(headerName));
- }
-
-
-
- if (jsonBody != null){
- connection.setDoInput(true);
- connection.setDoOutput(true);
- OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
- out.write(jsonBody);
- out.flush();
- out.close();
- } else{
- connection.connect();
- }
-
- int responseCode = connection.getResponseCode();
-
- // check that the response is one we expected (and get the associated value at the same time)
- responseString = httpResponseCodeMap.get(responseCode);
- if (responseString == null) {
- // the response was not configured, meaning it is unexpected and therefore an error
- logger.error("Unexpected HTTP response code '" + responseCode + "' from RESTful Server");
- return ERROR_RECEIVED + " code" + responseCode + " from RESTful Server";
- }
-
- // if the response is contained only in the http code we are done. Otherwise we need to read the body
- if (responseFormat == REST_RESPONSE_FORMAT.httpResponseCode) {
- return responseString;
- }
-
- // Need to read the body and return that as the responseString.
-
- responseString = null;
- // read the inputStream into a buffer (trick found online scans entire input looking for end-of-file)
- java.util.Scanner scanner = new java.util.Scanner(connection.getInputStream());
- scanner.useDelimiter("\\A");
- responseString = scanner.hasNext() ? scanner.next() : "";
- scanner.close();
- logger.debug("RESTful body: " + responseString);
- return responseString;
-
- } catch (Exception e) {
- logger.error("HTTP Request/Response from RESTFUL server: " + e);
- responseString = ERROR_RECEIVED + e;
- } finally {
- // cleanup the connection
- if (connection != null) {
- try {
- // For some reason trying to get the inputStream from the connection
- // throws an exception rather than returning null when the InputStream does not exist.
- InputStream is = null;
- try {
- is = connection.getInputStream();
- } catch (Exception e1) {
- // ignore this
- }
- if (is != null) {
- is.close();
- }
-
- } catch (IOException ex) {
- logger.error("Failed to close connection: " + ex, ex);
- }
- connection.disconnect();
- }
- }
- return responseString;
-
- }
-
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/utils/PolicyContainer.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/utils/PolicyContainer.java
deleted file mode 100644
index fdca336ea..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/utils/PolicyContainer.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.utils;
-
-import java.io.Serializable;
-import java.util.Collection;
-import java.util.List;
-
-
-public interface PolicyContainer extends Serializable{
-
- public Collection<?> getContainerPropertyIds();
-
- public Collection<?> getItemIds();
-
- public Class<?> getType(Object propertyId);
-
- public int size();
-
- public boolean containsId(Object itemId);
-
- public Object addItem() throws UnsupportedOperationException;
-
- public boolean removeItem(Object itemId)
- throws UnsupportedOperationException;
-
- public boolean addContainerProperty(Object propertyId, Class<?> type,
- Object defaultValue) throws UnsupportedOperationException;
-
- public boolean removeContainerProperty(Object propertyId)
- throws UnsupportedOperationException;
-
- public boolean removeAllItems() throws UnsupportedOperationException;
-
- public interface Ordered extends PolicyContainer {
-
- public Object nextItemId(Object itemId);
-
- public Object prevItemId(Object itemId);
-
- public Object firstItemId();
-
- public Object lastItemId();
-
- public boolean isFirstId(Object itemId);
-
- public boolean isLastId(Object itemId);
-
- public Object addItemAfter(Object previousItemId)
- throws UnsupportedOperationException;
-
- }
-
-
- public interface Indexed extends Ordered {
-
- public int indexOfId(Object itemId);
-
- public Object getIdByIndex(int index);
-
- public List<?> getItemIds(int startIndex, int numberOfItems);
-
- public Object addItemAt(int index) throws UnsupportedOperationException;
-
- public interface ItemAddEvent extends ItemSetChangeEvent {
-
- public Object getFirstItemId();
-
- public int getFirstIndex();
-
- public int getAddedItemsCount();
- }
-
-
- public interface ItemRemoveEvent extends ItemSetChangeEvent {
-
- public Object getFirstItemId();
-
- public int getFirstIndex();
-
- public int getRemovedItemsCount();
- }
- }
-
- public interface ItemSetChangeEvent extends Serializable {
-
- public PolicyContainer getContainer();
- }
-
- public interface ItemSetChangeListener extends Serializable {
-
- public void containerItemSetChange(PolicyContainer.ItemSetChangeEvent event);
- }
-
- public interface ItemSetChangeNotifier extends Serializable {
-
- public void addItemSetChangeListener(
- PolicyContainer.ItemSetChangeListener listener);
-
- public void removeItemSetChangeListener(
- PolicyContainer.ItemSetChangeListener listener);
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/utils/PolicyItemSetChangeNotifier.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/utils/PolicyItemSetChangeNotifier.java
deleted file mode 100644
index 934c30564..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/utils/PolicyItemSetChangeNotifier.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.utils;
-
-
-import java.io.Serializable;
-import java.util.Collection;
-import java.util.EventObject;
-import java.util.LinkedList;
-
-import org.openecomp.policy.utils.PolicyContainer.ItemSetChangeEvent;
-import org.openecomp.policy.utils.PolicyContainer.ItemSetChangeListener;
-
-
-
-public class PolicyItemSetChangeNotifier implements PolicyContainer.ItemSetChangeNotifier {
- private static final long serialVersionUID = 1L;
- private Collection<PolicyContainer.ItemSetChangeListener> itemSetChangeListeners = null;
- private PolicyContainer container = null;
-
- public PolicyItemSetChangeNotifier() {
- }
-
- protected void setContainer(PolicyContainer c) {
- this.container = c;
- }
-
- @Override
- public void addItemSetChangeListener(ItemSetChangeListener listener) {
- if (getItemSetChangeListeners() == null) {
- setItemSetChangeListeners(new LinkedList<PolicyContainer.ItemSetChangeListener>());
- }
- getItemSetChangeListeners().add(listener); }
-
- @Override
- public void removeItemSetChangeListener(ItemSetChangeListener listener) {
- if (getItemSetChangeListeners() != null) {
- getItemSetChangeListeners().remove(listener);
- }
- }
-
- protected static class BaseItemSetChangeEvent extends EventObject implements
- PolicyContainer.ItemSetChangeEvent, Serializable {
- private static final long serialVersionUID = 1L;
-
- protected BaseItemSetChangeEvent(PolicyContainer source) {
- super(source);
- }
-
- @Override
- public PolicyContainer getContainer() {
- return (PolicyContainer) getSource();
- }
- }
-
- protected void setItemSetChangeListeners(
- Collection<PolicyContainer.ItemSetChangeListener> itemSetChangeListeners) {
- this.itemSetChangeListeners = itemSetChangeListeners;
- }
- protected Collection<PolicyContainer.ItemSetChangeListener> getItemSetChangeListeners() {
- return itemSetChangeListeners;
- }
-
- protected void fireItemSetChange() {
- fireItemSetChange(new BaseItemSetChangeEvent(this.container));
- }
-
- protected void fireItemSetChange(ItemSetChangeEvent event) {
- if (getItemSetChangeListeners() != null) {
- final Object[] l = getItemSetChangeListeners().toArray();
- for (int i = 0; i < l.length; i++) {
- ((PolicyContainer.ItemSetChangeListener) l[i])
- .containerItemSetChange(event);
- }
- }
- }
-}
diff --git a/ecomp-sdk-app/src/main/java/org/openecomp/policy/utils/XACMLPolicyWriterWithPapNotify.java b/ecomp-sdk-app/src/main/java/org/openecomp/policy/utils/XACMLPolicyWriterWithPapNotify.java
deleted file mode 100644
index 20bfa1a50..000000000
--- a/ecomp-sdk-app/src/main/java/org/openecomp/policy/utils/XACMLPolicyWriterWithPapNotify.java
+++ /dev/null
@@ -1,494 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP Policy Engine
- * ================================================================================
- * 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.policy.utils;
-
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.UnsupportedEncodingException;
-import java.net.HttpURLConnection;
-import java.net.MalformedURLException;
-import java.net.ProtocolException;
-import java.net.URL;
-import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
-import java.nio.file.DirectoryNotEmptyException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.Base64;
-import java.util.UUID;
-
-import org.openecomp.policy.rest.XACMLRestProperties;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import org.openecomp.policy.xacml.util.XACMLPolicyWriter;
-import com.att.research.xacml.util.XACMLProperties;
-
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicySetType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
-
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-/**
- * Helper static class that wraps XACMLPolicyWriter
- *
- *
- */
-public class XACMLPolicyWriterWithPapNotify{
- private static final Logger logger = FlexLogger.getLogger(XACMLPolicyWriterWithPapNotify.class);
-
- /**
- * Helper static class that does the work to write a policy set to a file on disk and notify PAP
- *
- *
- */
- public static Path writePolicyFile(Path filename, PolicySetType policySet) {
- if(logger.isDebugEnabled()){
- logger.debug("\nXACMLPolicyWriterWithPapNotify.writePolicyFile(Path filename, PolicySetType policySet)"
- + "\nfilename = " + filename
- + "\npolicySet = " + policySet);
- }
- //write to file
- Path path = XACMLPolicyWriter.writePolicyFile(filename, policySet);
-
- if(path!=null){
- //write to DB
- if(notifyPapOfCreateUpdate(filename.toAbsolutePath().toString())){
- return path;
- }else{
- //write to DB failed. So, delete the file
- try{
- Files.deleteIfExists(path);
- }catch(DirectoryNotEmptyException e){
- //We are trying to delete a directory and it is not empty
- logger.error("\nXACMLPolicyWriterWithPapNotify.writePolicyFile(Path filename, PolicySetType policySet): Files.deleteIfExists(path)"
- + "\nDirectoryNotEmptyException for path = " + path
- + "\nException message = " + e);
- }catch(IOException e) {
- // File permission problems are caught here.
- logger.error("\nXACMLPolicyWriterWithPapNotify.writePolicyFile(Path filename, PolicySetType policySet): Files.deleteIfExists(path)"
- + "\nIOException for path = " + path
- + "\nException message = " + e);
- }catch(Exception e){
- logger.error("\nXACMLPolicyWriterWithPapNotify.writePolicyFile(Path filename, PolicySetType policySet): Files.deleteIfExists(path)"
- + "\nException for path = " + path
- + "\nException message = " + e);
- }
- return null;
- }
-
- }else{
- return null;
- }
- }
-
- /**
- * Helper static class that does the work to write a policy set to an output stream and notify PAP
- *
- *
- */
- public static void writePolicyFile(OutputStream os, PolicySetType policySet) {
- if(logger.isDebugEnabled()){
- logger.debug("\nXACMLPolicyWriterWithPapNotify.writePolicyFile(OutputStream os, PolicySetType policySet)"
- + "\nos = " + os
- + "\npolicySet = " + policySet);
- }
- //Only used for writing a byte array output stream for a message. No file is written
- XACMLPolicyWriter.writePolicyFile(os, policySet);
- }
-
- /**
- * Helper static class that does the work to write a policy to a file on disk.
- *
- *
- */
- public static Path writePolicyFile(Path filename, PolicyType policy) {
- if(logger.isDebugEnabled()){
- logger.debug("\nXACMLPolicyWriterWithPapNotify.writePolicyFile(Path filename, PolicyType policy)"
- + "\nfilename = " + filename
- + "\npolicy = " + policy);
- }
-
- //write to file
- Path path = XACMLPolicyWriter.writePolicyFile(filename, policy);
-
- if(path!=null){
- //write to DB
- if(notifyPapOfCreateUpdate(filename.toAbsolutePath().toString())){
- return path;
- }else{
- //write to DB failed so delete the file
- try{
- Files.deleteIfExists(path);
- }catch(DirectoryNotEmptyException e){
- //We are trying to delete a directory and it is not empty
- logger.error("\nXACMLPolicyWriterWithPapNotify.writePolicyFile(Path filename, PolicySetType policySet)Files.deleteIfExists(path) :"
- + "\nDirectoryNotEmptyException for path = " + path
- + "\nException message = " + e);
- }catch(IOException e) {
- // File permission problems are caught here.
- logger.error("\nXACMLPolicyWriterWithPapNotify.writePolicyFile(Path filename, PolicySetType policySet): Files.deleteIfExists(path)"
- + "\nIOException for path = " + path
- + "\nException message = " + e);
- }catch(Exception e){
- logger.error("\nXACMLPolicyWriterWithPapNotify.writePolicyFile(Path filename, PolicySetType policySet): Files.deleteIfExists(path)"
- + "\nException for path = " + path
- + "\nException message = " + e);
- }
- return null;
- }
-
- }else{
- return null;
- }
- }
-
-
- /**
- * Helper static class that does the work to write a policy to a file on disk.
- *
- *
- */
- public static InputStream getXmlAsInputStream(PolicyType policy) {
- if(logger.isDebugEnabled()){
- logger.debug("\nXACMLPolicyWriterWithPapNotify.getXmlAsInputStream(PolicyType policy)"
- + "\npolicy = " + policy);
- }
- return XACMLPolicyWriter.getXmlAsInputStream(policy);
- }
- /**
- * Helper static class that does the work to write a policy set to an output stream.
- *
- *
- */
- public static void writePolicyFile(OutputStream os, PolicyType policy) {
- if(logger.isDebugEnabled()){
- logger.debug("\nXACMLPolicyWriterWithPapNotify.writePolicyFile(OutputStream os, PolicyType policy)"
- + "\nos = " + os
- + "\npolicy = " + policy);
- }
- //There are no references to this and if there were, it would most likely be used in an http message
- XACMLPolicyWriter.writePolicyFile(os, policy);
- }
-
- public static String changeFileNameInXmlWhenRenamePolicy(Path filename) {
- if(logger.isDebugEnabled()){
- logger.debug("\nXACMLPolicyWriterWithPapNotify.changeFileNameInXmlWhenRenamePolicy(Path filename)"
- + "\nfilename = " + filename);
- }
- return XACMLPolicyWriter.changeFileNameInXmlWhenRenamePolicy(filename);
- }
-
- public static boolean notifyPapOfPolicyRename(String oldPolicyName, String newPolicyName){
- if(logger.isDebugEnabled()){
- logger.debug("\nXACMLPolicyWriterWithPapNotify.notifyPapOfCreateUpdate(String policyToCreateUpdate) "
- + "\npolicyToCreateUpdate = " + " ");
- }
- Base64.Encoder encoder = Base64.getEncoder();
- String encoding = encoder.encodeToString((XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_USERID)+":"+XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_PASS)).getBytes(StandardCharsets.UTF_8));
- HttpURLConnection connection = null;
- UUID requestID = UUID.randomUUID();
- //loggingContext.setRequestID(requestID.toString());
- //loggingContext.transactionStarted();
- URL url;
- try {
- url = new URL(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_URL)+"?oldPolicyName="+ URLEncoder.encode(oldPolicyName, "UTF-8")+"&newPolicyName="+URLEncoder.encode(newPolicyName,"UTF-8"));
- if(logger.isDebugEnabled()){
- logger.debug("\nnotifyPapOfCreateUpdate: URL = " + url);
- }
- } catch (MalformedURLException e) {
- logger.error("\nnotifyPapOfCreateUpdate(String policyToCreateUpdate)"
- + "\nMalformedURLException message = " + e);
-
- return false;
- } catch (UnsupportedEncodingException e) {
- logger.error("\nnotifyPapOfCreateUpdate(String policyToCreateUpdate)"
- + "\nUnsupportedEncodingException message = " + e);
-
- return false;
- }
- //
- // Open up the connection
- //
- try {
- connection = (HttpURLConnection)url.openConnection();
- } catch (IOException e) {
- logger.error("\nnotifyPapOfCreateUpdate(String policyToCreateUpdate)"
- + "\nurl.openConnection() IOException message = " + e);
- return false;
- }
- //
- // Setup our method and headers
- //
- try {
- connection.setRequestMethod("PUT");
- } catch (ProtocolException e) {
- logger.error("\nnotifyPapOfCreateUpdate(String policyToCreateUpdate)"
- + "\nconnection.setRequestMethod(PUT) ProtocolException message = " + e);
- connection.disconnect();
- return false;
- }
- connection.setRequestProperty("Authorization", "Basic " + encoding);
- connection.setRequestProperty("Accept", "text/x-java-properties");
- connection.setRequestProperty("Content-Type", "text/x-java-properties");
- connection.setRequestProperty("requestID", requestID.toString());
- connection.setUseCaches(false);
- //
- // Adding this in. It seems the HttpUrlConnection class does NOT
- // properly forward our headers for POST re-direction. It does so
- // for a GET re-direction.
- //
- // So we need to handle this ourselves.
- //
- connection.setInstanceFollowRedirects(false);
- connection.setDoOutput(true);
- connection.setDoInput(true);
- try {
- connection.connect();
- } catch (IOException e) {
- logger.error("\nnotifyPapOfCreateUpdate(String policyToCreateUpdate)"
- + "\nconnection.connect() IOException message = " + e);
- connection.disconnect();
- return false;
- }
- try {
- int responseCode = connection.getResponseCode();
- if(logger.isDebugEnabled()){
- logger.debug("\nnotifyPapOfCreateUpdate(String policyToCreateUpdate)"
- + "\nconnection.getResponseCode() = " + responseCode);
- }
- if (responseCode == 200) {
- connection.disconnect();
- return true;
- } else {
- connection.disconnect();
- return false;
- //System.out.println(connection.getResponseMessage());
- //System.out.println(connection.getResponseCode());
- //System.out.println(connection.g);
- }
- } catch (IOException e) {
- logger.error("\nnotifyPapOfCreateUpdate(String policyToCreateUpdate)"
- + "\nconnection.getResponseCode() IOException message = " + e);
- connection.disconnect();
- return false;
- }
- }
-
- public static boolean notifyPapOfDelete(String policyToDelete){
- Base64.Encoder encoder = Base64.getEncoder();
- String encoding = encoder.encodeToString((XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_USERID)+":"+XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_PASS)).getBytes(StandardCharsets.UTF_8));
- HttpURLConnection connection = null;
- UUID requestID = UUID.randomUUID();
- //loggingContext.setRequestID(requestID.toString());
- //loggingContext.transactionStarted();
- String papUrl = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_URL);
- if(papUrl == null){
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE +
- "PAP url property does not exist");
- return false;
- }
- String urlString = "";
- try{
- urlString = papUrl+"?groupId=0&isDeleteNotify=1&policyToDelete="+ URLEncoder.encode(policyToDelete, "UTF-8");
- } catch(UnsupportedEncodingException e){
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE +
- "Invalid encoding: UTF-8", e);
- return false;
- }
- URL url;
- try {
- url = new URL(urlString);
- } catch (MalformedURLException e) {
- logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW +
- "Error parsing PAP url: "
- + urlString
- , e);
- return false;
- }
- //
- // Open up the connection
- //
- try {
- connection = (HttpURLConnection)url.openConnection();
- } catch (IOException e) {
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR +
- "Error opening HttpURLConnection to: "
- + url.toString()
- , e);
- return false;
- }
- //
- // Setup our method and headers
- //
- try {
- connection.setRequestMethod("DELETE");
- } catch (ProtocolException e) {
- logger.error(XACMLErrorConstants.ERROR_DATA_ISSUE +
- "Invalid request method: DELETE", e);
- connection.disconnect();
- return false;
- }
- connection.setRequestProperty("Authorization", "Basic " + encoding);
- connection.setRequestProperty("Accept", "text/x-java-properties");
- connection.setRequestProperty("Content-Type", "text/x-java-properties");
- connection.setRequestProperty("requestID", requestID.toString());
- connection.setUseCaches(false);
- //
- // Adding this in. It seems the HttpUrlConnection class does NOT
- // properly forward our headers for POST re-direction. It does so
- // for a GET re-direction.
- //
- // So we need to handle this ourselves.
- //
- connection.setInstanceFollowRedirects(false);
- connection.setDoOutput(true);
- connection.setDoInput(true);
- try {
- connection.connect();
- } catch (IOException e) {
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR +
- "Error connecting HttpURLConnection to: "
- + connection.getURL().toString()
- , e);
- connection.disconnect();
- return false;
- }
- try {
- if (connection.getResponseCode() == 200) {
- connection.disconnect();
- //worked
- return true;
- } else {
- connection.disconnect();
- return false;
- //System.out.println(connection.getResponseMessage());
- //System.out.println(connection.getResponseCode());
- //System.out.println(connection.g);
- }
- } catch (IOException e) {
- logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR +
- "Error getting HttpUrlConnection response code for: "
- + connection.getURL().toString()
- , e);
- connection.disconnect();
- return false;
- }
- }
-
- public static boolean notifyPapOfCreateUpdate(String policyToCreateUpdate){
- if(logger.isDebugEnabled()){
- logger.debug("\nXACMLPolicyWriterWithPapNotify.notifyPapOfCreateUpdate(String policyToCreateUpdate) "
- + "\npolicyToCreateUpdate = " + policyToCreateUpdate);
- }
- Base64.Encoder encoder = Base64.getEncoder();
- String encoding = encoder.encodeToString((XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_USERID)+":"+XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_PASS)).getBytes(StandardCharsets.UTF_8));
- HttpURLConnection connection = null;
- UUID requestID = UUID.randomUUID();
- //loggingContext.setRequestID(requestID.toString());
- //loggingContext.transactionStarted();
- URL url;
- try {
- url = new URL(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_URL)+"?policyToCreateUpdate="+ URLEncoder.encode(policyToCreateUpdate, "UTF-8"));
- if(logger.isDebugEnabled()){
- logger.debug("\nnotifyPapOfCreateUpdate: URL = " + url);
- }
- } catch (MalformedURLException e) {
- logger.error("\nnotifyPapOfCreateUpdate(String policyToCreateUpdate)"
- + "\nMalformedURLException message = " + e);
-
- return false;
- } catch (UnsupportedEncodingException e) {
- logger.error("\nnotifyPapOfCreateUpdate(String policyToCreateUpdate)"
- + "\nUnsupportedEncodingException message = " + e);
-
- return false;
- }
- //
- // Open up the connection
- //
- try {
- connection = (HttpURLConnection)url.openConnection();
- } catch (IOException e) {
- logger.error("\nnotifyPapOfCreateUpdate(String policyToCreateUpdate)"
- + "\nurl.openConnection() IOException message = " + e);
- return false;
- }
- //
- // Setup our method and headers
- //
- try {
- connection.setRequestMethod("PUT");
- } catch (ProtocolException e) {
- logger.error("\nnotifyPapOfCreateUpdate(String policyToCreateUpdate)"
- + "\nconnection.setRequestMethod(PUT) ProtocolException message = " + e);
- connection.disconnect();
- return false;
- }
- connection.setRequestProperty("Authorization", "Basic " + encoding);
- connection.setRequestProperty("Accept", "text/x-java-properties");
- connection.setRequestProperty("Content-Type", "text/x-java-properties");
- connection.setRequestProperty("requestID", requestID.toString());
- connection.setUseCaches(false);
- //
- // Adding this in. It seems the HttpUrlConnection class does NOT
- // properly forward our headers for POST re-direction. It does so
- // for a GET re-direction.
- //
- // So we need to handle this ourselves.
- //
- connection.setInstanceFollowRedirects(false);
- connection.setDoOutput(true);
- connection.setDoInput(true);
- try {
- connection.connect();
- } catch (IOException e) {
- logger.error("\nnotifyPapOfCreateUpdate(String policyToCreateUpdate)"
- + "\nconnection.connect() IOException message = " + e);
- connection.disconnect();
- return false;
- }
- try {
- int responseCode = connection.getResponseCode();
- if(logger.isDebugEnabled()){
- logger.debug("\nnotifyPapOfCreateUpdate(String policyToCreateUpdate)"
- + "\nconnection.getResponseCode() = " + responseCode);
- }
- if (responseCode == 200) {
- connection.disconnect();
- return true;
- } else {
- connection.disconnect();
- return false;
- //System.out.println(connection.getResponseMessage());
- //System.out.println(connection.getResponseCode());
- //System.out.println(connection.g);
- }
- } catch (IOException e) {
- logger.error("\nnotifyPapOfCreateUpdate(String policyToCreateUpdate)"
- + "\nconnection.getResponseCode() IOException message = " + e);
- connection.disconnect();
- return false;
- }
- }
-}