All Downloads are FREE. Search and download functionalities are using the official Maven repository.

edu.uiuc.ncsa.myproxy.oa4mp.server.servlet.MyProxyConfigurationLoader Maven / Gradle / Ivy

The newest version!
package edu.uiuc.ncsa.myproxy.oa4mp.server.servlet;

import edu.uiuc.ncsa.myproxy.oa4mp.server.MyProxyFacadeProvider;
import edu.uiuc.ncsa.myproxy.oa4mp.server.OA4MPConfigTags;
import edu.uiuc.ncsa.security.core.configuration.Configurations;
import edu.uiuc.ncsa.security.core.util.AbstractEnvironment;
import edu.uiuc.ncsa.security.core.util.MyLoggingFacade;
import edu.uiuc.ncsa.oa4mp.delegation.common.servlet.DBConfigLoader;
import org.apache.commons.configuration.tree.ConfigurationNode;

import java.util.LinkedList;
import java.util.List;

import static edu.uiuc.ncsa.myproxy.oa4mp.server.OA4MPConfigTags.MYPROXY_SERVER_DN;
import static edu.uiuc.ncsa.security.core.configuration.Configurations.getFirstAttribute;

/**
 * 

Created by Jeff Gaynor
* on 9/4/15 at 2:19 PM */ public abstract class MyProxyConfigurationLoader extends DBConfigLoader { public MyProxyConfigurationLoader(ConfigurationNode node) { super(node); } protected LinkedList mfp = null; public MyProxyConfigurationLoader(ConfigurationNode node, MyLoggingFacade logger) { super(node, logger); } protected LinkedList getMyProxyFacadeProvider() { if (mfp == null) { mfp = new LinkedList(); // This is the global default for all instances. It can be overridden below. String defaultDN = Configurations.getFirstAttribute(cn, MYPROXY_SERVER_DN); if (0 < cn.getChildrenCount(OA4MPConfigTags.MYPROXY)) { List kids = cn.getChildren(OA4MPConfigTags.MYPROXY); for (int i = 0; i < kids.size(); i++) { ConfigurationNode currentNode = (ConfigurationNode) kids.get(i); // Fix for CIL-196. String currentDN = getFirstAttribute(currentNode, MYPROXY_SERVER_DN); mfp.add(new MyProxyFacadeProvider(((ConfigurationNode) kids.get(i)), (currentDN==null?defaultDN:currentDN))); } } else { // set up with defaults mfp.add(new MyProxyFacadeProvider()); } } return mfp; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy