diff options
Diffstat (limited to 'ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/XacmlAdminUI.java')
-rw-r--r-- | ecomp-sdk-app/src/main/java/org/openecomp/policy/admin/XacmlAdminUI.java | 266 |
1 files changed, 0 insertions, 266 deletions
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; - } - - -} - |