当前位置: 首页>>代码示例>>Java>>正文


Java Attributes.get方法代码示例

本文整理汇总了Java中javax.naming.directory.Attributes.get方法的典型用法代码示例。如果您正苦于以下问题:Java Attributes.get方法的具体用法?Java Attributes.get怎么用?Java Attributes.get使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在javax.naming.directory.Attributes的用法示例。


在下文中一共展示了Attributes.get方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: uid2ext

import javax.naming.directory.Attributes; //导入方法依赖的package包/类
public String uid2ext(String uid) {
    try {
        DirContext ctx = null;
        try {
            ctx = getDirContext();
            Attributes attributes = ctx.getAttributes(
            		ApplicationProperties.getProperty("tmtbl.authenticate.ldap.uid2ext").replaceAll("%", uid),
            		new String[] {
            			ApplicationProperties.getProperty("tmtbl.authenticate.ldap.externalId", "puid")
            		});
            if (attributes!=null) {
                Attribute puid = attributes.get(ApplicationProperties.getProperty("tmtbl.authenticate.ldap.externalId", "puid"));
                if (puid!=null) return (String)puid.get();
            }
        } finally {
            if (ctx!=null) ctx.close();
        }
    } catch (Exception e) {
        Debug.error("Unable to translate uid to ext, "+e.getMessage());
    }
    return null;
}
 
开发者ID:Jenner4S,项目名称:unitimes,代码行数:23,代码来源:LdapExternalUidTranslation.java

示例2: defineTriggerExecutionSpecificPoint

import javax.naming.directory.Attributes; //导入方法依赖的package包/类
/**
 * Defines the Administration point and administrative role for the TriggerExecution specific point
 * @param apCtx The administrative point context
 * @throws NamingException If the operation failed
 */
public static void defineTriggerExecutionSpecificPoint( LdapContext apCtx ) throws NamingException
{
    Attributes ap = apCtx.getAttributes( "", new String[] { SchemaConstants.ADMINISTRATIVE_ROLE_AT } );
    Attribute administrativeRole = ap.get( SchemaConstants.ADMINISTRATIVE_ROLE_AT );
    
    if ( administrativeRole == null
        || !AttributeUtils.containsValueCaseIgnore( administrativeRole, SchemaConstants.TRIGGER_EXECUTION_SPECIFIC_AREA ) )
    {
        Attributes changes = new BasicAttributes( SchemaConstants.ADMINISTRATIVE_ROLE_AT,
            SchemaConstants.TRIGGER_EXECUTION_SPECIFIC_AREA, true );
        apCtx.modifyAttributes( "", DirContext.ADD_ATTRIBUTE, changes );
    }
}
 
开发者ID:apache,项目名称:directory-ldap-api,代码行数:19,代码来源:TriggerUtils.java

示例3: getAttributeValue

import javax.naming.directory.Attributes; //导入方法依赖的package包/类
/**
 * Return a String representing the value of the specified attribute.
 *
 * @param attrId Attribute name
 * @param attrs Attributes containing the required value
 *
 * @exception NamingException if a directory server error occurs
 */
private String getAttributeValue(String attrId, Attributes attrs)
    throws NamingException {

    if (containerLog.isTraceEnabled())
        containerLog.trace("  retrieving attribute " + attrId);

    if (attrId == null || attrs == null)
        return null;

    Attribute attr = attrs.get(attrId);
    if (attr == null)
        return null;
    Object value = attr.get();
    if (value == null)
        return null;
    String valueString = null;
    if (value instanceof byte[])
        valueString = new String((byte[]) value);
    else
        valueString = value.toString();

    return valueString;
}
 
开发者ID:liaokailin,项目名称:tomcat7,代码行数:32,代码来源:JNDIRealm.java

示例4: getAttributeValue

import javax.naming.directory.Attributes; //导入方法依赖的package包/类
/**
 * Return a String representing the value of the specified attribute.
 *
 * @param attrId
 *            Attribute name
 * @param attrs
 *            Attributes containing the required value
 *
 * @exception NamingException
 *                if a directory server error occurs
 */
private String getAttributeValue(String attrId, Attributes attrs) throws NamingException {

	if (containerLog.isTraceEnabled())
		containerLog.trace("  retrieving attribute " + attrId);

	if (attrId == null || attrs == null)
		return null;

	Attribute attr = attrs.get(attrId);
	if (attr == null)
		return null;
	Object value = attr.get();
	if (value == null)
		return null;
	String valueString = null;
	if (value instanceof byte[])
		valueString = new String((byte[]) value);
	else
		valueString = value.toString();

	return valueString;
}
 
开发者ID:how2j,项目名称:lazycat,代码行数:34,代码来源:JNDIRealm.java

示例5: getValue

import javax.naming.directory.Attributes; //导入方法依赖的package包/类
private String getValue(Attributes answer, String name)
{
	Attribute attr = null;
	if( name != null )
	{
		attr = answer.get(name);
	}

	if( attr == null )
	{
		return "";
	}

	try
	{
		return (String) attr.get();
	}
	catch( NamingException ne )
	{
		return "";
	}
}
 
开发者ID:equella,项目名称:Equella,代码行数:23,代码来源:LDAP.java

示例6: getAttributeValue

import javax.naming.directory.Attributes; //导入方法依赖的package包/类
/**
 * Return a String representing the value of the specified attribute.
 *
 * @param attrId Attribute name
 * @param attrs Attributes containing the required value
 *
 * @exception NamingException if a directory server error occurs
 */
private String getAttributeValue(String attrId, Attributes attrs)
    throws NamingException {

    if (debug >= 3)
        log("  retrieving attribute " + attrId);

    if (attrId == null || attrs == null)
        return null;

    Attribute attr = attrs.get(attrId);
    if (attr == null)
        return (null);
    Object value = attr.get();
    if (value == null)
        return (null);
    String valueString = null;
    if (value instanceof byte[])
        valueString = new String((byte[]) value);
    else
        valueString = value.toString();
    
    return valueString;
}
 
开发者ID:c-rainstorm,项目名称:jerrydog,代码行数:32,代码来源:JNDIRealm.java

示例7: toAttributes

import javax.naming.directory.Attributes; //导入方法依赖的package包/类
Attributes toAttributes() {
    Attributes attrs = new BasicAttributes(true);
    TypeAndValue tv;
    Attribute attr;

    for (int i = 0; i < tvs.size(); i++) {
        tv = tvs.elementAt(i);
        if ((attr = attrs.get(tv.getType())) == null) {
            attrs.put(tv.getType(), tv.getUnescapedValue());
        } else {
            attr.add(tv.getUnescapedValue());
        }
    }
    return attrs;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:16,代码来源:LdapName.java

示例8: getAttributeValue

import javax.naming.directory.Attributes; //导入方法依赖的package包/类
/**
 * Return a String representing the value of the specified attribute.
 *
 * @param attrs  Attributes containing the required value
 * @param attrId Attribute name
 * @throws NamingException if a directory server error occurs
 */
private String getAttributeValue(final Attributes attrs, final String attrId)
        throws NamingException {

  if (StringUtils.isBlank(attrId)) {
    return null;
  }

  if (attrId == null || attrs == null) {
    return null;
  }

  final Attribute attr = attrs.get(attrId);
  if (attr == null) {
    return null;
  }
  final Object value = attr.get();
  if (value == null) {
    return null;
  }
  String valueString = null;
  if (value instanceof byte[]) {
    valueString = new String((byte[]) value);
  } else {
    valueString = value.toString();
  }

  return valueString;
}
 
开发者ID:parabuild-ci,项目名称:parabuild-ci,代码行数:36,代码来源:JNDIAuthenticator.java

示例9: getParentGroupForGroup

import javax.naming.directory.Attributes; //导入方法依赖的package包/类
@Override
public GroupBean getParentGroupForGroup(DirContext ctx, String groupID)
{
	LDAPResult groupRes = ldap.getGroupResult(ctx, groupID, ldap.getGroupAttributes());
	if( groupRes == null )
	{
		return null;
	}

	try
	{
		Name groupName = groupRes.getFullName();
		int sz = groupName.size();
		if( sz > 1 )
		{
			groupName.remove(sz - 1);
			Attributes attributes = ctx.getAttributes(groupName);
			Attribute attribute = attributes.get(LDAP.OBJECTCLASS);
			if( attribute != null && attribute.contains(ldap.getGroupObject()) )
			{
				return ldap.getGroupBeanFromResult(groupRes);
			}
		}
	}
	catch( NamingException e )
	{
		LOGGER.error(e, e);
	}
	return null;
}
 
开发者ID:equella,项目名称:Equella,代码行数:31,代码来源:DirectoryGroupSearch.java

示例10: addAttributeValues

import javax.naming.directory.Attributes; //导入方法依赖的package包/类
/**
 * Add values of a specified attribute to a list
 *
 * @param attrId Attribute name
 * @param attrs Attributes containing the new values
 * @param values ArrayList containing values found so far
 *
 * @exception NamingException if a directory server error occurs
 */
private ArrayList<String> addAttributeValues(String attrId,
                                     Attributes attrs,
                                     ArrayList<String> values)
    throws NamingException{

    if (containerLog.isTraceEnabled())
        containerLog.trace("  retrieving values for attribute " + attrId);
    if (attrId == null || attrs == null)
        return values;
    if (values == null)
        values = new ArrayList<String>();
    Attribute attr = attrs.get(attrId);
    if (attr == null)
        return values;
    NamingEnumeration<?> e = attr.getAll();
    try {
        while(e.hasMore()) {
            String value = (String)e.next();
            values.add(value);
        }
    } catch (PartialResultException ex) {
        if (!adCompat)
            throw ex;
    } finally {
        e.close();
    }
    return values;
}
 
开发者ID:sunmingshuai,项目名称:apache-tomcat-7.0.73-with-comment,代码行数:38,代码来源:JNDIRealm.java

示例11: getValueMap

import javax.naming.directory.Attributes; //导入方法依赖的package包/类
/**
 * Get a map containing the values for this request. The first time
 * this method is called on an object, the LDAP request is sent,
 * the results parsed and added to a private map and also to the
 * cache of this LDAPCertStore. Subsequent calls return the private
 * map immediately.
 *
 * The map contains an entry for each requested attribute. The
 * attribute name is the key, values are byte[][]. If there are no
 * values for that attribute, values are byte[0][].
 *
 * @return                      the value Map
 * @throws NamingException      if a naming exception occurs
 */
private Map<String, byte[][]> getValueMap() throws NamingException {
    if (valueMap != null) {
        return valueMap;
    }
    if (DEBUG) {
        System.out.println("Request: " + name + ":" + requestedAttributes);
        requests++;
        if (requests % 5 == 0) {
            System.out.println("LDAP requests: " + requests);
        }
    }
    valueMap = new HashMap<>(8);
    String[] attrIds = requestedAttributes.toArray(STRING0);
    Attributes attrs;

    if (communicationError) {
        ctx.reconnect(null);
        communicationError = false;
    }

    try {
        attrs = ctx.getAttributes(name, attrIds);
    } catch (CommunicationException ce) {
        communicationError = true;
        throw ce;
    } catch (NameNotFoundException e) {
        // name does not exist on this LDAP server
        // treat same as not attributes found
        attrs = EMPTY_ATTRIBUTES;
    }
    for (String attrId : requestedAttributes) {
        Attribute attr = attrs.get(attrId);
        byte[][] values = getAttributeValues(attr);
        cacheAttribute(attrId, values);
        valueMap.put(attrId, values);
    }
    return valueMap;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:53,代码来源:LDAPCertStoreImpl.java

示例12: testLdifParserRFC2849Sample3

import javax.naming.directory.Attributes; //导入方法依赖的package包/类
@Test
public void testLdifParserRFC2849Sample3() throws LdapLdifException, Exception
{
    String ldif = 
          "objectclass: top\n" 
        + "objectclass: person\n" 
        + "objectclass: organizationalPerson\n"
        + "cn: Gern Jensen\n" 
        + "cn: Gern O Jensen\n" 
        + "sn: Jensen\n" 
        + "uid: gernj\n"
        + "telephonenumber: +1 408 555 1212\n"
        + "description:: V2hhdCBhIGNhcmVmdWwgcmVhZGVyIHlvdSBhcmUhICBUaGlzIHZhbHVl\n"
        + " IGlzIGJhc2UtNjQtZW5jb2RlZCBiZWNhdXNlIGl0IGhhcyBhIGNvbnRyb2wgY2hhcmFjdG\n"
        + " VyIGluIGl0IChhIENSKS4NICBCeSB0aGUgd2F5LCB5b3Ugc2hvdWxkIHJlYWxseSBnZXQg\n" 
        + " b3V0IG1vcmUu";

    LdifAttributesReader reader = new LdifAttributesReader();
    Attributes attributes = reader.parseAttributes( ldif );

    javax.naming.directory.Attribute attr = attributes.get( "objectclass" );
    assertTrue( attr.contains( "top" ) );
    assertTrue( attr.contains( "person" ) );
    assertTrue( attr.contains( "organizationalPerson" ) );

    attr = attributes.get( "cn" );
    assertTrue( attr.contains( "Gern Jensen" ) );
    assertTrue( attr.contains( "Gern O Jensen" ) );

    attr = attributes.get( "sn" );
    assertTrue( attr.contains( "Jensen" ) );

    attr = attributes.get( "uid" );
    assertTrue( attr.contains( "gernj" ) );

    attr = attributes.get( "telephonenumber" );
    assertTrue( attr.contains( "+1 408 555 1212" ) );

    attr = attributes.get( "description" );
    assertTrue( attr
        .contains( "What a careful reader you are!  This value is base-64-encoded because it has a control character in it (a CR).\r  By the way, you should really get out more."
            .getBytes( StandardCharsets.UTF_8 ) ) );
    reader.close();
}
 
开发者ID:apache,项目名称:directory-ldap-api,代码行数:45,代码来源:LdifAttributesReaderTest.java

示例13: testLdifAttributesReaderDirServer

import javax.naming.directory.Attributes; //导入方法依赖的package包/类
@Test
public void testLdifAttributesReaderDirServer() throws NamingException, Exception
{
    String ldif = 
          "# -------------------------------------------------------------------\n" 
        + "#\n"
        + "#  Licensed to the Apache Software Foundation (ASF) under one\n"
        + "#  or more contributor license agreements.  See the NOTICE file\n"
        + "#  distributed with this work for additional information\n"
        + "#  regarding copyright ownership.  The ASF licenses this file\n"
        + "#  to you under the Apache License, Version 2.0 (the\n"
        + "#  \"License\"); you may not use this file except in compliance\n"
        + "#  with the License.  You may obtain a copy of the License at\n" 
        + "#  \n"
        + "#    http://www.apache.org/licenses/LICENSE-2.0\n" 
        + "#  \n"
        + "#  Unless required by applicable law or agreed to in writing,\n"
        + "#  software distributed under the License is distributed on an\n"
        + "#  \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n"
        + "#  KIND, either express or implied.  See the License for the\n"
        + "#  specific language governing permissions and limitations\n" 
        + "#  under the License. \n" 
        + "#  \n"
        + "#\n" 
        + "# EXAMPLE.COM is freely and reserved for testing according to this RFC:\n" 
        + "#\n"
        + "# http://www.rfc-editor.org/rfc/rfc2606.txt\n" 
        + "#\n"
        + "# -------------------------------------------------------------------\n" 
        + "\n" 
        + "objectclass: top\n"
        + "objectclass: organizationalunit\n" 
        + "ou: Users";

    LdifAttributesReader reader = new LdifAttributesReader();

    Attributes attributes = reader.parseAttributes( ldif );

    javax.naming.directory.Attribute attr = attributes.get( "objectclass" );
    assertTrue( attr.contains( "top" ) );
    assertTrue( attr.contains( "organizationalunit" ) );

    attr = attributes.get( "ou" );
    assertTrue( attr.contains( "Users" ) );
    reader.close();
}
 
开发者ID:apache,项目名称:directory-ldap-api,代码行数:47,代码来源:LdifAttributesReaderTest.java

示例14: testLdifParserCommentsEmptyLines

import javax.naming.directory.Attributes; //导入方法依赖的package包/类
@Test
public void testLdifParserCommentsEmptyLines() throws NamingException, Exception
{
    String ldif = "#\n"
        + "#  Licensed to the Apache Software Foundation (ASF) under one\n"
        + "#  or more contributor license agreements.  See the NOTICE file\n"
        + "#  distributed with this work for additional information\n"
        + "#  regarding copyright ownership.  The ASF licenses this file\n"
        + "#  to you under the Apache License, Version 2.0 (the\n"
        + "#  \"License\"); you may not use this file except in compliance\n"
        + "#  with the License.  You may obtain a copy of the License at\n"
        + "#  \n"
        + "#    http://www.apache.org/licenses/LICENSE-2.0\n"
        + "#  \n"
        + "#  Unless required by applicable law or agreed to in writing,\n"
        + "#  software distributed under the License is distributed on an\n"
        + "#  \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n"
        + "#  KIND, either express or implied.  See the License for the\n"
        + "#  specific language governing permissions and limitations\n"
        + "#  under the License. \n"
        + "#  \n"
        + "#\n"
        + "#\n"
        + "#   EXAMPLE.COM is freely and reserved for testing according to this RFC:\n"
        + "#\n"
        + "#   http://www.rfc-editor.org/rfc/rfc2606.txt\n"
        + "#\n"
        + "#\n"
        + "\n"
        + "#\n"
        + "# This ACI allows brouse access to the root suffix and one level below that to anyone.\n"
        + "# At this level there is nothing critical exposed.  Everything that matters is one or\n"
        + "# more levels below this.\n"
        + "#\n"
        + "\n"
        + "objectClass: top\n"
        + "objectClass: subentry\n"
        + "objectClass: accessControlSubentry\n"
        + "subtreeSpecification: { maximum 1 }\n"
        + "prescriptiveACI: { identificationTag \"browseRoot\", precedence 100, authenticationLevel none, itemOrUserFirst userFirst: { userClasses { allUsers }, userPermissions { { protectedItems {entry}, grantsAndDenials { grantReturnDN, grantBrowse } } } } }\n";

    LdifAttributesReader reader = new LdifAttributesReader();
    Attributes attributes = reader.parseAttributes( ldif );

    javax.naming.directory.Attribute attr = attributes.get( "objectClass" );
    assertTrue( attr.contains( "top" ) );
    assertTrue( attr.contains( SchemaConstants.SUBENTRY_OC ) );
    assertTrue( attr.contains( "accessControlSubentry" ) );

    attr = attributes.get( "subtreeSpecification" );
    assertTrue( attr.contains( "{ maximum 1 }" ) );

    attr = attributes.get( "prescriptiveACI" );
    assertTrue( attr
        .contains( "{ identificationTag \"browseRoot\", precedence 100, authenticationLevel none, itemOrUserFirst userFirst: { userClasses { allUsers }, userPermissions { { protectedItems {entry}, grantsAndDenials { grantReturnDN, grantBrowse } } } } }" ) );
    reader.close();
}
 
开发者ID:apache,项目名称:directory-ldap-api,代码行数:58,代码来源:LdifAttributesReaderTest.java

示例15: mapToNode

import javax.naming.directory.Attributes; //导入方法依赖的package包/类
private NodeDescription mapToNode(Map<String, String> attributeMapping, Map<String, String> attributeDefaults,
        SearchResult result) throws NamingException
{
    NodeDescription nodeDescription = new NodeDescription(result.getNameInNamespace());
    Attributes ldapAttributes = result.getAttributes();

    // Parse the timestamp
    Attribute modifyTimestamp = ldapAttributes.get(this.modifyTimestampAttributeName);
    if (modifyTimestamp != null)
    {
        try
        {
            nodeDescription.setLastModified(this.timestampFormat.parse(modifyTimestamp.get().toString()));
        }
        catch (ParseException e)
        {
            throw new AlfrescoRuntimeException("Failed to parse timestamp.", e);
        }
    }

    // Apply the mapped attributes
    PropertyMap properties = nodeDescription.getProperties();
    for (String key : attributeMapping.keySet())
    {
        QName keyQName = QName.createQName(key, this.namespaceService);

        // cater for null
        String attributeName = attributeMapping.get(key);
        if (attributeName != null)
        {
            Attribute attribute = ldapAttributes.get(attributeName);
            String defaultAttribute = attributeDefaults.get(key);
            
            if (attribute != null)
            {
                String value = (String) attribute.get(0);
                if (value != null)
                {
                    properties.put(keyQName, value);
                }
            }
            else if (defaultAttribute != null)
            {
                properties.put(keyQName, defaultAttribute);
            }
            else
            {
                // Make sure that a 2nd sync, updates deleted ldap attributes(MNT-14026)
                properties.put(keyQName, null);
            }
        }
        else
        {
            String defaultValue = attributeDefaults.get(key);
            if (defaultValue != null)
            {
                properties.put(keyQName, defaultValue);
            }
        }
    }
    return nodeDescription;
}
 
开发者ID:Alfresco,项目名称:alfresco-repository,代码行数:63,代码来源:LDAPUserRegistry.java


注:本文中的javax.naming.directory.Attributes.get方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。