/* (c) 2014 Open Source Geospatial Foundation - all rights reserved * (c) 2001 - 2013 OpenPlans * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.security.xml; import javax.xml.xpath.XPath; import javax.xml.xpath.XPathExpression; import javax.xml.xpath.XPathFactory; import static org.geoserver.security.xml.XMLConstants.*; /** * This class provides precompiled XPath Expressions * * * @author christian * */ public class UserGroupXMLXpath_1_0 extends UserGroupXMLXpath { /** * * Singleton, the implementation is stateless */ public final static UserGroupXMLXpath_1_0 Singleton = new UserGroupXMLXpath_1_0(); /** * XML name space context for user/group store */ protected XPathExpression userListExpression; protected XPathExpression userEnabledExpression; protected XPathExpression userNameExpression; protected XPathExpression userPasswordExpression; protected XPathExpression userPropertiesExpression; protected XPathExpression propertyNameExpression; protected XPathExpression propertyValueExpression; protected XPathExpression groupListExpression; protected XPathExpression groupNameExpression; protected XPathExpression groupEnabledExpression; protected XPathExpression groupMemberListExpression; protected XPathExpression groupMemberNameExpression; /** * Constructor is protected, use the static Singleton instance */ protected UserGroupXMLXpath_1_0() { XPathFactory factory = XPathFactory.newInstance(); XPath xpath= factory.newXPath(); xpath.setNamespaceContext(this.urContext); //compile(xpath,"/"+E_USERREGISTRY+"["+A_VERSION_UR + "]"); userListExpression=compile(xpath,"/"+NSP_UR+":" +E_USERREGISTRY_UR+ "/"+NSP_UR+":" +E_USERS_UR+ "/"+NSP_UR+":" +E_USER_UR); userEnabledExpression=compileRelativeAttribute(xpath, A_USER_ENABLED_UR,NSP_UR); userNameExpression=compileRelativeAttribute(xpath,A_USER_NAME_UR,NSP_UR); userPasswordExpression=compileRelativeAttribute(xpath,A_USER_PASSWORD_UR,NSP_UR); userPropertiesExpression=compile(xpath,NSP_UR+":"+ E_PROPERTY_UR); propertyNameExpression=compileRelativeAttribute(xpath, A_PROPERTY_NAME_UR,NSP_UR); propertyValueExpression=compile(xpath,"text()"); groupListExpression =compile(xpath,"/"+NSP_UR+":"+E_USERREGISTRY_UR+ "/"+NSP_UR+":"+E_GROUPS_UR+ "/"+NSP_UR+":"+E_GROUP_UR); groupNameExpression=compileRelativeAttribute(xpath, A_GROUP_NAME_UR,NSP_UR); groupEnabledExpression=compileRelativeAttribute(xpath, A_GROUP_ENABLED_UR,NSP_UR); groupMemberListExpression = compile(xpath,NSP_UR+":"+E_MEMBER_UR); groupMemberNameExpression=compileRelativeAttribute(xpath,A_MEMBER_NAME_UR,NSP_UR); } @Override public XPathExpression getUserListExpression() { return userListExpression; } @Override public XPathExpression getUserEnabledExpression() { return userEnabledExpression; } @Override public XPathExpression getUserNameExpression() { return userNameExpression; } @Override public XPathExpression getUserPasswordExpression() { return userPasswordExpression; } @Override public XPathExpression getUserPropertiesExpression() { return userPropertiesExpression; } @Override public XPathExpression getPropertyNameExpression() { return propertyNameExpression; } @Override public XPathExpression getPropertyValueExpression() { return propertyValueExpression; } @Override public XPathExpression getGroupListExpression() { return groupListExpression; } @Override public XPathExpression getGroupNameExpression() { return groupNameExpression; } @Override public XPathExpression getGroupEnabledExpression() { return groupEnabledExpression; } @Override public XPathExpression getGroupMemberListExpression() { return groupMemberListExpression; } @Override public XPathExpression getGroupMemberNameExpression() { return groupMemberNameExpression; } }