X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ONAP-PAP-REST%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fpap%2Fxacml%2Frest%2Fhandler%2FPushPolicyHandler.java;h=81da911076a3dff55397450ae125ac13152352a3;hb=1e61676b77dd09659027b8984f050df7e8538526;hp=4dd87e22ff4748d5f078f3c49810fae1ed354747;hpb=2fc1a1510259202e8854beb8c04ef045bd28c79b;p=policy%2Fengine.git diff --git a/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/handler/PushPolicyHandler.java b/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/handler/PushPolicyHandler.java index 4dd87e22f..81da91107 100644 --- a/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/handler/PushPolicyHandler.java +++ b/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/handler/PushPolicyHandler.java @@ -2,14 +2,14 @@ * ============LICENSE_START======================================================= * ONAP-PAP-REST * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017,2019 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. @@ -17,68 +17,72 @@ * limitations under the License. * ============LICENSE_END========================================================= */ + package org.onap.policy.pap.xacml.rest.handler; +import com.att.research.xacml.util.XACMLProperties; + import java.io.File; import java.net.URI; import java.util.List; -import javax.persistence.EntityManager; -import javax.persistence.Query; +import javax.script.SimpleBindings; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.onap.policy.common.logging.eelf.MessageCodes; import org.onap.policy.common.logging.eelf.PolicyLogger; -import org.onap.policy.pap.xacml.rest.XACMLPapServlet; +import org.onap.policy.common.logging.flexlogger.FlexLogger; +import org.onap.policy.common.logging.flexlogger.Logger; +import org.onap.policy.rest.dao.CommonClassDao; import org.onap.policy.rest.jpa.PolicyVersion; import org.onap.policy.xacml.api.pap.OnapPDPGroup; import org.onap.policy.xacml.std.pap.StdPDPPolicy; -import org.onap.policy.common.logging.flexlogger.FlexLogger; -import org.onap.policy.common.logging.flexlogger.Logger; -import com.att.research.xacml.util.XACMLProperties; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +@Component public class PushPolicyHandler { private static final Logger logger = FlexLogger.getLogger(PushPolicyHandler.class); + + private static CommonClassDao commonClassDao; + + @Autowired + public PushPolicyHandler(CommonClassDao commonClassDao) { + PushPolicyHandler.commonClassDao = commonClassDao; + } + + public PushPolicyHandler() { + // Default Constructor + } + /* * Get Active Version. */ public void getActiveVersion(HttpServletRequest request, HttpServletResponse response) { - EntityManager em = null; - if(XACMLPapServlet.getEmf()!=null){ - em = (EntityManager) XACMLPapServlet.getEmf().createEntityManager(); - } - if (em==null){ - PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + " Error creating entity manager with persistence unit: " + XACMLPapServlet.getPersistenceUnit()); - return; - } - String policyScope = request.getParameter("policyScope"); + String policyScope = request.getParameter("policyScope").replace(".", File.separator); String filePrefix = request.getParameter("filePrefix"); String policyName = request.getParameter("policyName"); String pvName = policyScope + File.separator + filePrefix + policyName; int activeVersion = 0; - //Get the Active Version to use in the ID - em.getTransaction().begin(); - Query query = em.createQuery("Select p from PolicyVersion p where p.policyName=:pname"); - query.setParameter("pname", pvName); + // Get the Active Version to use in the ID + String query = "Select p from PolicyVersion p where p.policyName=:pname"; + SimpleBindings params = new SimpleBindings(); + params.put("pname", pvName); @SuppressWarnings("rawtypes") - List result = query.getResultList(); + List result = commonClassDao.getDataByQuery(query, params); PolicyVersion versionEntity = null; if (!result.isEmpty()) { versionEntity = (PolicyVersion) result.get(0); - em.persist(versionEntity); + commonClassDao.save(versionEntity); activeVersion = versionEntity.getActiveVersion(); - em.getTransaction().commit(); } else { PolicyLogger.debug("No PolicyVersion using policyName found"); } - //clean up connection - em.close(); - if (String.valueOf(activeVersion)!=null || !String.valueOf(activeVersion).equalsIgnoreCase("")) { + if (String.valueOf(activeVersion) != null || !String.valueOf(activeVersion).equalsIgnoreCase("")) { response.setStatus(HttpServletResponse.SC_OK); response.addHeader("version", String.valueOf(activeVersion)); } else { @@ -103,21 +107,22 @@ public class PushPolicyHandler { } } - public boolean preSafetyCheck(StdPDPPolicy policy, String configHome){ + public boolean preSafetyCheck(StdPDPPolicy policy, String configHome) { return true; } - public boolean preSafetyCheck(OnapPDPGroup policy, String configHome){ + public boolean preSafetyCheck(OnapPDPGroup policy, String configHome) { return true; } public static PushPolicyHandler getInstance() { try { - Class pushPolicyHandler = Class.forName(XACMLProperties.getProperty("pushPolicy.impl.className", PushPolicyHandler.class.getName())); + Class pushPolicyHandler = Class.forName( + XACMLProperties.getProperty("pushPolicy.impl.className", PushPolicyHandler.class.getName())); PushPolicyHandler instance = (PushPolicyHandler) pushPolicyHandler.newInstance(); return instance; } catch (Exception e) { - logger.error(e.getMessage(),e); + logger.error(e.getMessage(), e); } return null; }